这是我目前的解决方案:
HTML
<input type="checkbox" value="1" onclick="return do_stuff();" />
<input type="checkbox" value="1" onclick="return do_stuff2();" />
javscript:
function do_stuff() {
return false;
}
function do_stuff2() {
return true;
}
我希望避免在onclick调用中使用“return”(例如onclick="do_this();"
而不是onclick="return do_this();"
)。我想过使用jquery提供的preventDefault()函数,但似乎无法正常工作。另外,如果可能的话,我不想绑定“click”事件。我更喜欢使用“onclick”。 (更容易使用加载ajax的内容)
思想?
答案 0 :(得分:6)
事件处理程序的返回值确定是否也应该发生默认的浏览器行为。
所以......
onclick='function(); return false;'
应该解决它......
答案 1 :(得分:5)
您是否尝试在do_stuff()中调用event.stopPropagation()方法...当然,您需要传递。
onclick = 'do_stuff(event)'
function do_stuff(ev) {
if(ev.stopPropagation) {
// for proper browsers ...
ev.stopPropagation();
} else {
// internet exploder uses cancelBubble ...
window.event.cancelBubble = true;
}
// --- do some more stuff ---//
}