Javascript 使用“时防止默认操作的简单方法”;onclick";复选框的名称?
这是我当前的解决方案: htmlJavascript 使用“时防止默认操作的简单方法”;onclick";复选框的名称?,javascript,jquery,web-applications,Javascript,Jquery,Web Applications,这是我当前的解决方案: html <input type="checkbox" value="1" onclick="return do_stuff();" /> <input type="checkbox" value="1" onclick="return do_stuff2();" /> 我希望避免在onclick调用中使用“return”(例如,onclick=“do_this();”而不是onclick=“return do_this();”)。我曾想过使用
<input type="checkbox" value="1" onclick="return do_stuff();" />
<input type="checkbox" value="1" onclick="return do_stuff2();" />
我希望避免在onclick调用中使用“return”(例如,onclick=“do_this();”
而不是onclick=“return do_this();”
)。我曾想过使用jquery提供的preventDefault()函数,但似乎无法实现。另外,如果可能的话,我不想绑定“click”事件。我更喜欢使用“onclick”。(更易于使用ajax加载的内容)
想法?事件处理程序的返回值决定是否也应发生默认浏览器行为 所以
onclick='function(); return false;'
应该解决它 您是否尝试在do\u 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 ---//
}
return false
和preventDefault
仅在使用jquery单击事件时有效。不能使用jquery提供的event.preventDefault
除非实际使用jquery处理事件。您可以使用它的本机版本,但它位于一个用于现代浏览器的位置,另一个用于旧ie。return false
简单得多。这仍然可以避免从do_stuff()
返回false+是的。。这是skool的老方法:)我想通过调用函数并让函数处理复选框是否应该被选中来清理html。啊,我不知道你可以通过事件:)我认为这可能会起作用。如果它起作用,可能值得投票:)对于内联,只需使用onclick=“event.stopPropagation();alert('Hi!';”
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 ---//
}