jQuery - 触发器('click')在IE中不起作用 - Object不支持此属性或方法

时间:2011-06-27 14:09:23

标签: jquery html click shadowbox

我在悬停时有一个带有淡化叠加div的图像,在其中显示文本链接。

点击链接后会打开包含内容的影子框。我希望整个叠加div可以点击,所以我使用了:

$("div.overlay").each(function(){                
         $(this).click(function(){
             $('a#overlink').trigger('click'); // id of shadowbox link

             return false;

             });


       });

它在FF,Safari和amp; Chrome但IE显示“对象不支持此属性或方法”错误。

是否有其他方法可以使用此方法或其他方法?

5 个答案:

答案 0 :(得分:2)

您使用的是哪个版本的ie? 我记得某些版本的IE不支持点击链接或按钮以外的对象:(

或许尝试使用mousedown事件作为解决方法

答案 1 :(得分:1)

我不推荐这种方法。为什么你不能调用处理你的主播(链接)点击事件的功能?或使用链接中的位置导航。这会更有意义。

答案 2 :(得分:0)

$("div.overlay").each(function(i,n){                
         $(n).click(function(e){
             //do not need "a" in front of it as #overlink is unique anyways
             $('#overlink').trigger('click'); // id of shadowbox link

             return false;

             });


       });

尝试此操作并在触发器上方注明我的评论

答案 3 :(得分:0)

你试过了吗?

 $('a#overlink').click();

答案 4 :(得分:0)

试试这个:

$("div.overlay").each(function(){                
  $(this).click(function(){
      var $elm = $('a#overlink');
      if (document.createEvent) {
        var e = document.createEvent('MouseEvents');
        e.initEvent( 'click', true, true );
        $elm.get(0).dispatchEvent(e);
      }
      else {
        $elm.trigger("click");
      }
     return false;
  });
});