只是想知道是否有人遇到过这种情况,或者知道我为什么会出错。我在iframe中使用javascript来调用父dom元素,然后使用jQuery UI的effect核心来摇动它。这是一个例子:
$(document).ready(function(){
if ($("form").length>0)
{
$("form").submit(function(){
var oParentDoc = $(parent.document).find("div#element");
var action = $(this).attr("action");
var postdata = $(this).serialize();
$(oParentDoc).addClass("loading");
$.post(action,postdata,function(data){
$(oParentDoc).removeClass("loading").effect("shake",{"times":3,"distance":10},60);
});
return false;
});
}
});
它没有效果就可以工作,但是当我使用效果时会出现以下错误:
未捕获的异常:[Exception ...
“组件返回的失败代码:
0x80040111(NS_ERROR_NOT_AVAILABLE)
[nsIDOMCSSStyleDeclaration.getPropertyValue]”
nsresult:“ 0x80040111
(NS_ERROR_NOT_AVAILABLE)”
预先感谢您的任何见解:)
最佳答案
我不确定这是否行得通,但是您可以尝试在父级中设置绑定事件,然后在iFrame中尝试在父级中触发该事件。
父级JavaScript
$(document).ready(function(){
$('#iframe').bind('shakeFrame',function(){
$('#iframe').effect("shake",{"times":3,"distance":10},60);
});
});
iFrame JavaScript
$(document).ready(function(){
$(parent.document).find('#iframe').trigger('shakeFrame');
});