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="aW1hZ2UxLmpwZw==" onclick="when_i_click();"/>
<img src="aW1hZ2UyLmpwZw==" 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
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- 400或500级别的HTTP响应 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01