如果您知道更好的方法来做到这一点,请告诉我。
是的,我有一个包含许多按钮、图表和表格的页面。
我已经阅读了关于停止事件传播的内容,这就是我将要使用的。
我想启用有关 cerrain 元素的帮助。我有一个复选框,可以更改启用帮助的 div 上的光标。我想要做的是在正常的点击行为之前添加一个帮助功能。
基本上就是这个样子。
<input type="button" value="Click me" onclick="alert ('hello')" />
我想要的是,如果单击复选框,我会添加一个 css 类(已经完成),然后在正常单击之前添加一个单击处理程序。单击元素时,将运行 helpfunction 并且不会触发默认按钮单击处理程序。取消选中帮助复选框时,我想删除帮助功能。
我意识到我可以对每个元素进行硬编码,并检查辅助函数以查看是否选中了复选框。但我更喜欢更通用的方法。
谢谢
约翰
最佳答案
$(":button").each(function() {
// your button
var btn = $(this);
// original click handler
var clickhandler = btn.attr("onclick");
btn.attr("onclick", "return false;");
// new click handler
btn.click(function() {
if ($("#chkbox").attr("checked") == true) {
// TODO: show your help
// TODO: catch event
}
else {
clickhandler();
}
});
});