我有一些 HTML 元素
<p class="accordion-header open" id="platform_0" onclick="validateScreens(this)">Platform 0</p>
<p class="accordion-header open" id="platform_1" onclick="validateScreens(this)">Platform 0</p>
<p class="accordion-header open" id="platform_2" onclick="validateScreens(this)">Platform 0</p>
我想删除并恢复此元素上的点击事件。我的 JavaScript 代码是:
function validateScreens(domObj)
{
if(some condition)
{
$(domObj).off("click"); // //remove click from <p> whenever there is a click event
} else {
$(domObj).on("click",function() { return true; });// restores the click event
}
}
它成功地删除了点击事件,但没有恢复它。如何做。
最佳答案
<p class="accordion-header open" id="platform_0" onclick="validateScreens(this)">Platform 0</p>
<p class="accordion-header open" id="platform_1" onclick="validateScreens(this)">Platform 0</p>
<p class="accordion-header open" id="platform_2" onclick="validateScreens(this)">Platform 0</p>
<script>
function validateScreens(domObj){
if(some condition){
$(domObj).on("click" , function( e ){ e.preventDefault(); });
}else{
$(domObj).on("click",function() { return true; });
}
}</script>
调用event.preventDefault方法时,不会触发事件的默认 Action 。
关于javascript - 使用 JQuery 启用和禁用点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40825162/