javascript中的事件处理

javascript中的事件处理,javascript,event-handling,Javascript,Event Handling,我了解到,您可以在HTML或Javascript中声明事件处理程序。我的问题是,在Javascript或HTML中这样做更好吗?这有区别吗?如果是,为什么?几乎总是JavaScript。它更干净、更易于维护,并且将HTML与JavaScript分开 例如,您可以这样写: <button onclick="do_something(this)">Button 1</button> <button onclick="do_something(this)">Butt

我了解到,您可以在HTML或Javascript中声明事件处理程序。我的问题是,在Javascript或HTML中这样做更好吗?这有区别吗?如果是,为什么?

几乎总是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>

几乎总是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>

这在很大程度上取决于你的要求。添加内联侦听器并不比添加类或id更困难,因此您是在服务器(即内联)还是在客户端(动态)添加它们取决于适合特定情况的内容。让它们排成一行可以让任何维护代码的人清楚地知道侦听器所在的位置,只需查看服务器代码或生成的HTMl即可。否则,它们必须搜索脚本文件以找出它们所在的位置


只要使用对你来说最有效的东西。

这在很大程度上取决于你的需求。添加内联侦听器并不比添加类或id更困难,因此您是在服务器(即内联)还是在客户端(动态)添加它们取决于适合特定情况的内容。让它们排成一行可以让任何维护代码的人清楚地知道侦听器所在的位置,只需查看服务器代码或生成的HTMl即可。否则,它们必须搜索脚本文件以找出它们所在的位置


只要使用对您来说非常有效的工具。

几乎总是使用JavaScript。它更容易跟踪HTML并将其从JavaScript中分离出来。这很有意义。谢谢。我如何将这个问题标记为“已回答”?@user1157541投票箭头下有复选标记。而且,。几乎总是JavaScript。它更容易跟踪HTML并将其从JavaScript中分离出来。这很有意义。谢谢。我如何将此问题标记为“已回答”?@user1157541投票箭头下有复选标记。此外,通过事件委派可以获得相同的结果,无论使用何种附件方法。通过事件委派可以获得相同的结果,无论使用何种附件方法。