gpt4 book ai didi

javascript - "Button"和 ":button"选择器的问题

转载 作者:搜寻专家 更新时间:2023-11-01 05:26:48 27 4
gpt4 key购买 nike

我是 Jquery 的新手,处于学习阶段。我在里面写了一个测试程序。

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("Button").click(function(){
$(this).parents(".ex").hide();
});
$(":button").click(function(){
$(this).parents(".ex").hide("slow");
});

});
</script>
<style type="text/css">
.ex{
background-color: #e5eecc;
padding: 7px;
border: solid 1px #c3c3c3;
}
</style>
</head>
<body>
<h3>Island Trading</h3>
<div class="ex">
<input type="button" name="hid" value="Hide Me slowly">
<p> Contact: Helen Bennett</p>
<p>Garden House Crowther Way</p>
<p>London</p>
</div>
<h3>Paris spécialités</h3>
<div class="ex">
<button type="button">Hide Me Quick</button>
<p> Contact: Marie Bertrand</p>
<p>265, Boulevard Charonne</p>
<p>Paris</p>
</div>
</body>
</html>

这按预期工作。每当我点击慢慢隐藏我时,它就会慢慢隐藏。作为选择器“:按钮”的事件要求这样做。和Hide me Quick 也类似——选择器是“Button”,它会被快速隐藏。

但是一旦我改变了脚本中事件处理函数的顺序,它们就会慢慢隐藏起来。

中的代码更改
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(":button").click(function(){
$(this).parents(".ex").hide("slow");
});

$("Button").click(function(){
$(this).parents(".ex").hide();
});

});
</script>

我的问题是,我没有更改选择器,只是修改了顺序。对于选择器“按钮”,我编写了事件处理函数来仅隐藏并且没有指定“慢”。但后来它正在慢慢隐藏。你能调查一下并告诉我原因吗?

最佳答案

:button 将匹配按钮类型的输入以及按钮元素。 Button 将只匹配按钮元素。因此,文档中的 Button 元素获得了两个绑定(bind)到其点击事件的处理程序,因为它被两个选择器选中。

证明:http://jsfiddle.net/g7deV/

(当你点击'hide me quick'时,两个警告都会弹出。如果你改变事件处理程序的顺序,两个警告仍然会弹出,只是顺序相反)

关于javascript - "Button"和 ":button"选择器的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3186543/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com