这些语法有啥区别,请详细解释一下?

Posted

技术标签:

【中文标题】这些语法有啥区别,请详细解释一下?【英文标题】:What is diffrent between these syntax please Explain in details?这些语法有什么区别,请详细解释一下? 【发布时间】:2017-03-04 22:04:49 【问题描述】:

这些语法有什么不同,请详细解释一下?

$(document).on("click", "#index1", function() 
    $(p).hide();
);
$("#index2").on("click", "#index1", function() 
    $(p).hide();
);
$("#index1").on("click", function() 
    $(p).hide();
);

【问题讨论】:

见api.jquery.com/on ^ 那里都有详细的解释。 Stack 不是学校或教程网站。这是您来寻求帮助以解决您遇到的代码问题的地方,这在我看来是代码的有效语法。另外,由于您没有提到恕我直言不符合问题,那么您可以阅读并从手册中学习,尝试一些东西,如果有些东西不起作用,然后回来发布一个(真正的)问题。 另外,没有我删除的标记为(编辑)的 php 【参考方案1】:

在第一种情况下,您将单击侦听器添加到“文档”,但仅当您单击“#index1”时才会执行。 其次 - 您将侦听器添加到“index2”,只有当您单击位于“#index2”内的“#index1”时才会执行它。 在第三种情况下,您只需将侦听器添加到“index1”

【讨论】:

谢谢...顺便说一句,我第二次感到困惑。现在清除【参考方案2】:

首先让我们想象一个网页。

<!DOCTYPE html>
<html>

<head>
    <title></title>
</head>

<body>
    <button id='index1'>click me</button>
</body>

</html>
    这会起作用
<!DOCTYPE html>
<html>

<head>
    <title></title>
</head>

<body>
    <button id='index1'>click me</button>
    <script type="text/javascript">
        $("#index1").on("click", function () 
            $(p).hide();
        );
    </script>
</body>

</html>
    这不起作用,因为执行脚本时元素不存在。
<!DOCTYPE html>
<html>

<head>
    <title></title>
</head>

<body>
    <script type="text/javascript">
        $("#index1").on("click", function () 
            $(p).hide();
        );
    </script>
    <button id='index1'>click me</button>
</body>

</html>

但如果有解决方法,它会

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <script type="text/javascript">
        $(document).on("click", "#index1", function() 
            $(p).hide();
        );
    </script>
    <button id='index1'>click me</button>
</body>
</html>

这表示每当在文档上触发点击事件时,检查是否在#index1 元素上触发了点击。因此,即使该元素不存在回调,也会附加到文档节点。现在,每当在文档上触发点击时,它都会检查它是否来自 #index1

【讨论】:

以上是关于这些语法有啥区别,请详细解释一下?的主要内容,如果未能解决你的问题,请参考以下文章

编译器中的“语法”和“语法”有啥区别?

属性和属性有啥区别? [关闭]

农民工看完都学会了!java和c语言的语法区别

请解释这句sql!关于去重的,从语法角度详细解释: x,over,partition!特别是where前的x!

在英语语法中SVOO和SVOC的区别是啥?高手解释下~

实现编译器和解释器有啥区别?