Jquery click 在 FIrefox 中注册,而不是在 IE 中

Posted

技术标签:

【中文标题】Jquery click 在 FIrefox 中注册,而不是在 IE 中【英文标题】:Jquery click registers in FIrefox, not in IE 【发布时间】:2011-01-11 20:58:36 【问题描述】:

在 Firefox 中而不是在 IE 中简单单击注册的原因可能是什么?

编辑:我应该仅仅因为解决这么糟糕的问题而获得积分。

【问题讨论】:

来吧。请提供一点更多信息。 也许...我不知道,IE 很烂? 从你的声誉来看,我至少会想到一些代码示例。 我同意 Felix... 这只是浪费时间 我应该得到分数,只是为了解决这么糟糕的问题。这真的让你失去资格。 【参考方案1】:

有多种点击方式,可在 Firefox 和 IE 中使用。你可以使用click方法:

$("a:first").click();

触发点击事件。或者你可以通过触发方法来修补它:

$("a:first").trigger("click");

它做同样的事情。这两个例子涵盖了点击的调用,但不包括拦截。您的问题不清楚您对哪个项目感兴趣。拦截点击类似于第一种方法:

$("a:first").click(function(e)
  e.preventDefault();
  alert("You've clicked the first link.");
);

这仅适用于加载 jQuery 时页面上存在的链接。如果以后要加载动态链接,则必须使用 live 方法:

$("a").live("click", function(e)
  e.preventDefault();
  alert("You've clicked a link");
);

【讨论】:

【参考方案2】:

请注意,“点击”事件不会在 IE 中冒泡。如果您将按钮放在锚标记内,则按钮单击不会传播到锚。

我已经解决了这个问题:

$('a').find(':button').each(function() 
  var $button = $(this);
  $button.click(function(ev) 
    $button.closest('a').each(function() 
      this.click(); // not $(this)
    );
    return !!ev.stopPropagation() && false;
  );
);

【讨论】:

不是真正的原因,但它帮助我思考和找出问题。 你提供的信息这么少,怎么会有人知道问题出在哪里?我不知道有什么读心术的程序员

以上是关于Jquery click 在 FIrefox 中注册,而不是在 IE 中的主要内容,如果未能解决你的问题,请参考以下文章

Jquery click 在 FIrefox 中注册,而不是在 IE 中

jQuery - Events事件 - click单击

Jquery .click() 不适用于 safari .. 但适用于其他浏览器

jQuery UI 对话框 - 使用 Firefox 时出现问题

在 jQuery 中克隆或向表单添加输入不会提交到 Firefox 中的 PHP

复选框点击事件会中断以运行代码,但$ .trigger('click')只会在Chrome中识别,而不会在Firefox中识别。为什么?