只是想知道是否有人遇到过这种情况,或者知道我为什么会出错。我在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');
});

09-19 04:52