首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在IE7/8中触发.click()函数的重新绑定

在IE7/8中触发.click()函数的重新绑定
EN

Stack Overflow用户
提问于 2012-03-12 21:44:38
回答 2查看 124关注 0票数 2

不只是将函数绑定到单击事件,我的compare_remove()函数实际上是在IE7/8中调用的(在IE9、FF、Webkit中工作得很好)。

HTML:

代码语言:javascript
复制
<div id="compare_listing_1234" class="compare_out_listing" title="Click to Add to Compare" onclick="compare_add('1234'); "></div>

剧本:

代码语言:javascript
复制
function compare_add(pid) {
  $('#compare_listing_'+pid).removeClass("compare_out_listing").addClass("compare_in_listing");
  $('#compare_listing_'+pid).attr("title","Click to Remove from Compare");
  $('#compare_listing_'+pid).prop("onclick", null);
  $('#compare_listing_'+pid).unbind('click').click(function(){ compare_remove(pid); });
}

有人知道为什么吗?

EN

回答 2

Stack Overflow用户

发布于 2012-03-12 22:02:14

Internet 8将调用事件分派期间添加到元素中的事件侦听器。Firefox在事件传递每个元素时获取事件侦听器的快照,因此它不会调用这个特定的事件侦听器,但您可以让它调用捕获事件侦听器添加的冒泡事件侦听器。

票数 1
EN

Stack Overflow用户

发布于 2012-03-12 21:48:52

代码语言:javascript
复制
function compare_add(pid) {
  window.event.cancelBubble = true;
  $('#compare_listing_'+pid).removeClass("compare_out_listing").addClass("compare_in_listing");
  $('#compare_listing_'+pid).attr("title","Click to Remove from Compare");
  $('#compare_listing_'+pid).prop("onclick", null);
  $('#compare_listing_'+pid).unbind('click').click(function(){ compare_remove(pid); });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9675246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档