问题描述
||
我正在创建一个浏览器扩展程序,通过向用户的Twitter时间线中的每个tweet行添加一些链接来修改Twitter时间线。
通常,每当单击tweet行时,Twitter都会弹出右侧面板,显示更多信息,除非用户单击诸如Retweet,Reply等链接。我不确定Twitter的JavaScript适用于什么这些链接可以防止它们导致面板打开,但是我想做类似的事情。我尝试检查Google Chrome中的元素,但未显示事件处理程序。
有什么建议么?
解决方法
事件处理程序可能是通过脚本以编程方式添加的。您可以尝试删除事件处理程序(请参阅文档),但是克隆有问题的元素然后隐藏原始元素可能会更容易。有关信息,请参见cloneNode文档。
没有任何示例html,我无法真正为您提供一个很好的示例,但这是我拼凑的通用jsFiddle来演示这一概念:http://jsfiddle.net/sacCK/1/
, 我通过停止事件传播解决了我的问题。这样可以防止事件传播到容器元素的事件处理程序。
使用jQuery,我可以像这样应用onclick处理程序:
$(\"#elementId\").click(function(event) {
event.preventDefault();
event.stopPropagation();
// other actions
});