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

为什么在HTML中使用onClick()是一种不好的做法?

谭飞掣
2023-03-14
问题内容

我已经多次听到onClick()在HTML
中使用JavaScript事件(例如)是不正确的做法,因为它不利于语义。我想知道不利之处以及如何解决以下代码?

<a href="#" onclick="popup('/map/', 300, 300, 'map'); return false;">link</a>

问题答案:

您可能正在谈论简洁的Javascript,看起来像这样:

<a href="#" id="someLink">link</a>

中央javascript文件中的逻辑如下所示:

$('#someLink').click(function(){
    popup('/map/', 300, 300, 'map'); 
    return false;
});

优点是

  • 行为(JavaScript)与表示(HTML)分开
  • 没有语言的混合
  • 您正在使用像jQuery这样的javascript框架,可以为您处理大多数跨浏览器问题
  • 您可以一次将行为添加到许多HTML元素中,而无需重复代码


 类似资料:
  • 问题内容: 我已经多次听到在HTML 中使用JavaScript事件(例如)是不正确的做法,因为它不利于语义。我想知道不利之处以及如何解决以下代码? 问题答案: 您可能正在谈论简洁的Javascript,看起来像这样: 中央javascript文件中的逻辑如下所示: 优点是 行为(JavaScript)与表示(HTML)分开 没有语言的混合 您正在使用像jQuery这样的javascript框架,

  • 问题内容: 使用JQuery或任何其他类似框架从自定义URL / Web服务中加载HTML内容非常容易。到目前为止,我已经使用了很多次这种方法,并且发现性能令人满意。 但是所有书籍,所有专家都试图让我使用JSON而不是生成的HTML。它比HTML优越得多吗? 它快很多吗? 它在服务器上的负载是否要小得多? 另一方面,我有一些使用生成的HTML的原因。 它是简单的标记,通常与JSON一样紧凑或实际上

  • 问题内容: 在1990年代,有一种将Javascript代码直接放入href属性的方式,如下所示: 然后突然我停下来看看。它们全部被替换为: 对于仅用于触发Javascript代码且没有实际目标的链接,为什么鼓励使用该属性而不是该属性? 问题答案: 执行上下文不同,要查看此内容,请尝试以下链接: 通常是在全局上下文中执行,而不是作为元素的方法执行。在大多数情况下,您正在对所操作的元素进行操作或与之

  • 问题内容: 每位JS意见领袖都说,扩展本机对象是一种不良做法。但为什么?我们会获得出色的表现吗?他们是否担心有人会以“错误的方式”这样做,并向中添加可枚举的类型Object,实际上破坏了任何对象上的所有循环? 以TJ Holowaychuk的should.js为例。他向其中添加了一个简单的吸气剂,Object并且一切正常(源代码)。 这真的很有意义。例如,可以扩展。 是否有反对扩展本机类型的论点?

  • 我有一个问题,关于什么是正确的做法,使用SwingU实用程序的调用稍后方法。 所以首先,我想确认我理解正确。 据我所知,对GUI的更改必须在EDT上完成,因为Swing组件不是线程安全的。invokeLater方法将Runnable作为参数,该Runnable中包含的任何内容都将在EDT上运行。因此,对Swing组件的任何调用都被放入一种队列中,在EDT上一次执行一个。 有了这些,我的问题是:使用

  • 我见过很多次scala代码使用Option(对于简单值)或[List[Error],T]来处理错误。 这为这样的代码提供了位置 这会产生一个不太好的代码嵌套,迫使您处理每一步的失败,并迫使您让所有函数返回一个[...] 所以我想知道 > 在scala(或一般的函数式编程)中不鼓励使用异常 使用它们有任何缺点(关于不可变性或代码并发性) 异常与原理或函数式编程有些冲突 你可以想出一个更好的方法来编写