我了解到您可以在HTML或Javascript中声明事件处理程序。我的问题是,在Javascript或HTML中这样做是否更好?这有什么不同吗?如果是这样,为什么?
答案 0 :(得分:1)
几乎总是JavaScript。它更清晰,更易于维护,并将HTML与JavaScript分开。
例如,你可以这样写:
<button onclick="do_something(this)">Button 1</button>
<button onclick="do_something(this)">Button 2</button>
<button onclick="do_something(this)">Button 3</button>
<button onclick="do_something(this)">Button 4</button>
或者您可以将HTML保留为HTML并从脚本中绑定事件处理程序:
$('button').click(function() {
// Do something
});
答案 1 :(得分:0)
这在很大程度上取决于您的要求。添加内联侦听器并不比添加类或ID困难,因此无论是在服务器(即内联)还是客户端(动态)添加它们都取决于适合特定情况的内容。让它们内联使得任何维护代码的人都可以清楚地看到监听器只是通过查看服务器代码或生成HTMl。否则,他们必须搜索脚本文件以找出它们的位置。
只需使用对你有效的东西。