当前位置: 首页 > 面试题库 >

为什么内联事件处理程序属性在现代语义HTML中是个坏主意?

苏运良
2023-03-14
问题内容

内联事件处理程序是否被视为不良做法?

例如: <button onclick=someFunction()>Click me!</button>

如果是这样,使用内联事件处理程序有哪些缺点?


问题答案:

这是一个坏主意,因为…

1)很长一段时间以来,人们一直在明智地强调内容,样式和脚本之间的清晰区分。用JS混淆HTML与此不一致。

2)更重要的是,您对事件的控制要少得多。特别:

  • 您只能将每种类型的一个事件与DOM-零事件(即内联click事件)进行绑定,因此您不能拥有两个事件处理程序

  • 如果以内联方式指定事件,则将JS指定为字符串(属性值始终为字符串),并在事件触发时进行评估。评价是邪恶的。

  • 您将不得不引用命名函数。这并不总是理想的(事件处理程序通常采用匿名函数),并且对需要全局的函数有影响

简而言之,可通过专用addEventListenerAPI或jQuery等集中处理事件。



 类似资料:
  • 有人问过一些类似的问题。 但在我的代码中,我试图获取被点击的子元素,比如或。 那么,将

  • 问题内容: 为什么Catch(Exception)一个坏主意? 问题答案: 因为当你捕获异常时,你应该正确处理它。而且,你不能期望在代码中处理所有类型的异常。同样,当你捕获所有异常时,你可能会得到一个无法处理的异常,并阻止堆栈中位于较高位置的代码正确处理它。 一般原则是捕获可能的最特定类型。

  • 本文向大家介绍事件代理的实现原理是什么?相关面试题,主要包含被问及事件代理的实现原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 事件代理是利用事件的冒泡原理来实现的,何为事件冒泡呢?就是事件从最深的节点开始,然后逐步向上传播事件,举个例子:页面上有这么一个节点树,div>ul>li>a;比如给最里面的a加一个click点击事件,那么这个事件就会一层一层的往外执行,执行顺序a>l

  • 问题内容: 有人告诉我不要在JavaScript中使用数组。为什么不? 问题答案: 原因是一种构造: 有时可能与另一个完全不同: 还请注意,JavaScript库可能会执行以下操作,这会影响您创建的任何数组:

  • 问题内容: Java(使用Net Bean)中类似于C#中的From_Load的事件处理程序是什么? 问题答案: 如果使用的是Swing的JFrame,请尝试使用addWindowListener(从java.awt.Window继承) 侦听器的windowOpened方法看起来像您想要的位置…

  • 1. 从“百度移动统计”同步已创建的事件 针对百度小程序,分析云默认同步您在小程序B端平台配置的事件,您在分析云后台的配置也会同步至小程序B端平台。 百度小游戏、微信小程序用户可以选择将您在mtj平台配置的事件同步至分析云。 2. 在分析云创建APP事件 2.1 手动埋点创建 “分析云-数据管理-基础事件”页面,右上角“添加事件” 您需要输入事件名称、标志符、分组(选填)、关联属性 生成代码 2.