我正在做一个同时使用JQuery的.NET Core 2应用程序。
在我拥有的html按钮中,我正在执行JQuery函数来封装click事件。由于某种原因,此功能会触发两次。有人可以帮助我理解为什么吗?
提前谢谢!
HTML代码:
<div class="menu">
<button class="btn btn-default" id="seeds">Seeds</button>
</div>
jQuery(在.js文件中):
$("body").on("click", "#seeds", function () {
alert('click fired');
});
答案 0 :(得分:0)
请记住,您可以在jQuery中为同一事件注册多个事件处理程序。因此,如果您的处理程序注册了两次,则您的处理程序将在单击事件上运行。您可以使用off方法删除监听器
$("body").off("click");
但是我建议直接在您的元素上注册处理程序:
$("#seeds").on("click", function(){
alert('click fired');
});
答案 1 :(得分:0)
我尝试使用您发布的相同代码来重现您的问题,但是没有发生。 也许您正在两次注册此事件。
您可以将事件直接注册到元素,如下所示:
$("#seeds").on("click", function(){
alert('click fired');
});
或者,像这样:
$("#seeds").click(function(){
alert('click fired');
});
答案 2 :(得分:0)
可能是您两次使用相同的ID。因此,请验证该ID。
您也可以使用以下代码,
$("#seeds").click(function(){
alert('click event');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="menu">
<button class="btn btn-default" id="seeds">Seeds</button>
</div>
答案 3 :(得分:0)
感谢大家的投入和帮助。 正如大家所建议的,我现在直接在元素上触发函数。
但是我发现了问题。我有多假?我的html布局文件中有两次指向.js文件的链接。 Duuh对我来说!!
再次感谢大家花时间帮助我!
最好!