Javascript 使用“时防止默认操作的简单方法”;onclick";复选框的名称?

Javascript 使用“时防止默认操作的简单方法”;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();”)。我曾想过使用

这是我当前的解决方案:

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();”
)。我曾想过使用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 ---//
}