不只是将函数绑定到单击事件,我的compare_remove()函数实际上是在IE7/8中调用的(在IE9、FF、Webkit中工作得很好)。
HTML:
<div id="compare_listing_1234" class="compare_out_listing" title="Click to Add to Compare" onclick="compare_add('1234'); "></div>剧本:
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); });
}有人知道为什么吗?
发布于 2012-03-12 22:02:14
Internet 8将调用事件分派期间添加到元素中的事件侦听器。Firefox在事件传递每个元素时获取事件侦听器的快照,因此它不会调用这个特定的事件侦听器,但您可以让它调用捕获事件侦听器添加的冒泡事件侦听器。
发布于 2012-03-12 21:48:52
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); });
}https://stackoverflow.com/questions/9675246
复制相似问题