how to disable or enable all onClick for images on a page(如何为页面上的图像禁用或启用所有 onClick)
问题描述
当用户点击一张图片时,我希望在我的功能完成之前禁用所有其他图片上的 onClicks.
When the user clicks on an image, I want the onClicks on all other images to be disabled until my function has finished.
我目前有这段代码可以禁用它们:
I currently have this code that disables them:
var eles = document.getElementsByTagName('img');
for (var i=0; i < eles.length; i++)
   eles[i].onclick = false;
但我不确定如何重新启用它们.我试过了:
but I'm not sure how to re enable them. I have tried:
var eles = document.getElementsByTagName('img');
for (var i=0; i < eles.length; i++)
   eles[i].onclick = true;
但它不起作用.任何人都可以解决这个问题
But its not working. anyone have solution for this problem
推荐答案
您的解决方案不起作用,因为您使用 onClick = false 删除了 onClick.之后,您需要再次创建 onClick 事件处理程序.
Your solution doesn't work because you removed your onClick with onClick = false. After that you need to create the onClick event handler again.
这可能是您添加 onclick 事件的方式,我对其进行了更改,因此它应该可以工作.
This is probably your way of adding onclick events, I changed it so it should work.
<img src="image1.jpg" onclick="when_i_click();"/>
<img src="image2.jpg" onclick="when_i_click();"/>
尝试向您的 onclick 添加一个函数,如上所示.
您的点击功能:
var when_i_click = function(){
    alert('image clicked!');
}
这是您禁用点击的方式(您的方法)
var eles = document.getElementsByTagName('img');
for (var i=0; i < eles.length; i++)
   eles[i].onclick = null;
这就是您重新启用它们的方式(将功能重新附加到 onClick )
var eles = document.getElementsByTagName('img');
for (var i=0; i < eles.length; i++)
   eles[i].onclick = when_i_click;
这是一个jquery解决方案jquery:
尝试使用通畅的 javascript,不要在 DOM 中添加 onclick 事件处理程序.
Try using unobstructive javascript, by not adding onclick event handlers in the DOM.
<script>
(function(){
    var function_is_finished = false;
    $('img').on('click',function(event){
        if(function_is_finished) {
            //Do your stuff when someone clicks on Img
        }
    });
})();
</script>
当你的函数完成后,只需将 function_is_finished 设置为 true
When your function is finished just set function_is_finished to true
这篇关于如何为页面上的图像禁用或启用所有 onClick的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何为页面上的图像禁用或启用所有 onClick
				
        
 
            
        基础教程推荐
- 如何使用 CSS 显示和隐藏 div? 2022-01-01
 - Javascript 在多个元素上单击事件侦听器并获取目标 2022-01-01
 - 如何使用sencha Touch2在单页中显示列表和其他标签 2022-01-01
 - jQuery File Upload - 如何识别所有文件何时上传 2022-01-01
 - 每次设置弹出窗口的焦点 2022-01-01
 - 如何在特定日期之前获取消息? 2022-01-01
 - 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT? 2022-01-01
 - Node.js 有没有好的索引/搜索引擎? 2022-01-01
 - 什么是不使用 jQuery 的经验技术原因? 2022-01-01
 - WatchKit 支持 html 吗?有没有像 UIWebview 这样的控制器? 2022-01-01
 
    	
    	
    	
    	
    	
    	
    	
    	
						
						
						
						
						
				
				
				
				