使用jQuery的onclick和onclick属性有什么区别?
以下两段HTML之间的区别是什么(如果在我input这个手写字符的时候有任何input错误的道歉)?
使用jQuery:
<script type="text/javascript"> $(document).ready(function() { $("#clickme").click(function() { alert("clicked!"); }); }); </script> <a id="clickme" href="javascript:void(0);">click me</a>
不使用jQuery:
<a id="clickme" href="javascript:void(0);" onclick="alert('clicked!');">click me</a>
一个很大的区别是,jQuery的事件是在一个registry中处理的,这个registry是在click事件中parsing的。 至关重要的是,这意味着您可以分配多个callback,并按照注册的顺序触发:
<script type="text/javascript"> $(document).ready(function() { $("#clickme").click(function() { alert("clicked!"); }); $("#clickme").click(function() { alert("I concur, clicked!"); }); }); </script>
它们都将按顺序在click
事件上被调用。 jQuery的registry驱动系统覆盖了“真正的” onClick
事件。 在vanilla文档结构中,没有像jQuery这样的系统,只能有一个onClick
事件。
这也是UI代码(HTML)和逻辑代码(JavaScript)的更清晰的分离。 它使阅读更容易一点。
其中一个区别是添加处理程序与jQuery的click
不会删除以前的处理程序。