我想在跨度上触发单击事件,但它不起作用。我尝试了以下两种方法:
$('#my_span').click();
$('#my_span').trigger("click");
但后来我尝试了:
$('#my_span').focus();
这奏效了!有人知道为什么吗?我不是在尝试绑定处理程序,只是尝试触发单击事件,就像用户单击该跨度一样。请帮忙。
尝试在 DOM 元素上触发click
,而不是在元素的 jQuery 集合上触发:
$('#my_span')[0].click();
或:
document.getElementById('my_span').click();
你的跨度包含任何信息吗?是 0px x 0px 元素吗?如果是这种情况,则永远不会触发点击。
例如,如果您在<span>
或<i>
中查看字体真棒图标,它将永远不会被触发,因为它没有可点击的内容。
//编辑,因为我无法正确阅读^^//
我会链接两个事件处理程序
$(document).on("event you desire","desired target", function() {
$("#my_span").trigger("click");
});
然后:
$(document).on("click","#my_span", function() {
//stuff to happen
});
http://jsfiddle.net/vvt8Lvvu/- 用于演示的 JSFIDDLE