Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery事件方法与HTML事件属性_Javascript_Jquery_Html_Events_Web - Fatal编程技术网

Javascript jQuery事件方法与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

HTML事件属性:

<button id="myButton" onclick="someFunction()">Click me</button>
哪种方式更合适,性能更好

哪条路更好

后者,或任何其他现代方法(
addEventListener
,等等)-例如,您不需要jQuery来实现此目的,尽管您可以使用它来实现此目的(如果您愿意)<代码>onxyz-属性样式处理程序通常是一个糟糕的选择,因为:

  • 它们只能调用全局函数。通常,您希望避免使用全局函数

  • 它们迫使您混合使用代码和HTML,而不是保持它们的独特性。(这可能被认为是主观的。)

  • 注意,这并不意味着每个元素都需要
    id
    ;您可以使用的全部功能来查找元素(使用jQuery,或使用
    querySelector
    /
    querySelectorAll
    ),以便将它们连接起来,它们不必具有
    id
    s

    确保代码在已知元素存在后运行。通常,最重要的是将
    脚本
    标记放在文档末尾,就在关闭
    元素之前;此时,脚本上方的HTML定义的所有元素都将存在

    哪条路更好

    后者,或任何其他现代方法(
    addEventListener
    ,等等)-例如,您不需要jQuery来实现此目的,尽管您可以使用它来实现此目的(如果您愿意)<代码>onxyz-属性样式处理程序通常是一个糟糕的选择,因为:

  • 它们只能调用全局函数。通常,您希望避免使用全局函数

  • 它们迫使您混合使用代码和HTML,而不是保持它们的独特性。(这可能被认为是主观的。)

  • 注意,这并不意味着每个元素都需要
    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'); });