我有一个在内联onclick上触发的函数。
我希望该函数只被调用一次,但不知道如何使用内联onclick进行调用。它目前正在运行,但每次用户单击时都运行,而不仅仅是一次。
我就是这样得到它的:
HTML
<div class= "container" onclick="modal('#modal')"></div>我尝试将其作为Jquery函数,如下所示,并删除上面的单击,但这也不起作用:
$(".container").on( "click", modal( '#modal') {
alert( "The event happened!" );
});知道怎么做才能让这个函数只运行一次吗?
谢谢
发布于 2021-10-27 10:43:39
如果希望使用jQuery's one(),则需要从onclick中删除onclick,并将JS更改为:
$( ".container" ).one( "click", function() {
alert( "The event happened!" );
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class= "container">Container</div>
这样,alert()将只显示在上,首先单击。
如果您想使用问题中所述的on(),请使用$(this).off('click');删除事件侦听器:
$( ".container" ).on( "click", function() {
alert( "The event happened!" );
$(this).off('click');
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class= "container">Container</div>
https://stackoverflow.com/questions/69737081
复制相似问题