使用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不会删除以前的处理程序。