Javascript jQuery事件方法与HTML事件属性
HTML事件属性:Javascript jQuery事件方法与HTML事件属性,javascript,jquery,html,events,web,Javascript,Jquery,Html,Events,Web,HTML事件属性: <button id="myButton" onclick="someFunction()">Click me</button> 哪种方式更合适,性能更好 哪条路更好 后者,或任何其他现代方法(addEventListener,等等)-例如,您不需要jQuery来实现此目的,尽管您可以使用它来实现此目的(如果您愿意)onxyz-属性样式处理程序通常是一个糟糕的选择,因为: 它们只能调用全局函数。通常,您希望避免使用全局函数 它们迫使您混合使用代码和H
<button id="myButton" onclick="someFunction()">Click me</button>
哪种方式更合适,性能更好
哪条路更好
后者,或任何其他现代方法(addEventListener
,等等)-例如,您不需要jQuery来实现此目的,尽管您可以使用它来实现此目的(如果您愿意)<代码>onxyz-属性样式处理程序通常是一个糟糕的选择,因为:
id
;您可以使用的全部功能来查找元素(使用jQuery,或使用querySelector
/querySelectorAll
),以便将它们连接起来,它们不必具有id
s
确保代码在已知元素存在后运行。通常,最重要的是将脚本
标记放在文档末尾,就在关闭
元素之前;此时,脚本上方的HTML定义的所有元素都将存在
哪条路更好
后者,或任何其他现代方法(addEventListener
,等等)-例如,您不需要jQuery来实现此目的,尽管您可以使用它来实现此目的(如果您愿意)<代码>onxyz-属性样式处理程序通常是一个糟糕的选择,因为:
id
;您可以使用的全部功能来查找元素(使用jQuery,或使用querySelector
/querySelectorAll
),以便将它们连接起来,它们不必具有id
s
确保代码在已知元素存在后运行。通常,最重要的是将
脚本
标记放在文档末尾,就在关闭
元素之前;在这一点上,脚本上面的HTML定义的所有元素都将存在。对于性能来说,vanilla JS方法更好,但是这通常并不重要。性能损失是因为必须加载JQuery库才能执行JQuery事件方法。如果您只使用jQuery非常小,您可以考虑用香草JS替换它。
同样,在第一种情况下,你混合了JS和html,这通常是不好的。我们认为JS的数量正在增长,因为你的文件将更难阅读。通常,最好的做法是分离关注点(将JS/CSS与html放在不同的文件中)对于性能来说,普通的JS方法更好,但是这通常并不重要。性能损失是因为必须加载JQuery库才能执行JQuery事件方法。如果您只使用jQuery非常小,您可以考虑用香草JS替换它。 同样,在第一种情况下,你混合了JS和html,这通常是不好的。我们认为JS的数量正在增长,因为你的文件将更难阅读。通常,最好的做法是分离关注点(将JS/CSS与html放在不同的文件中)
$('#myButton').click(function () { alert('Hello'); });