如何禁用或启用所有onClick页面上的图像 [英] how to disable or enable all onClick for images on a page

查看:128
本文介绍了如何禁用或启用所有onClick页面上的图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我现在有这个禁用的代码,当用户点击图片时,我想要禁用所有其他图片上的onClicks,直到我的函数完成。他们:

  var eles = document.getElementsByTagName('img'); 
for(var i = 0; i< eles.length; i ++)
eles [i] .onclick = false;

但我不确定如何重新启用它们。我已经尝试过:

  var eles = document.getElementsByTagName('img'); 
for(var i = 0; i< eles.length; i ++)
eles [i] .onclick = true;

但它不起作用。任何人都有解决这个问题的解决方案。 解决方案

您的解决方案不起作用,因为您使用onClick = false删除了onClick。之后,您需要再次创建onClick事件处理程序。



这可能是您添加onclick事件的方式,我对其进行了更改,以便它能正常工作。 b
$ b

 < img src =image1.jpgonclick =when_i_click();/> 
< img src =image2.jpgonclick =when_i_click();/>

尝试像上面那样为onclick添加一个函数。



您的onclick功能:

  var when_i_click =函数(){
alert('image clicked!');

这是您禁用onclicks(您的方法) strong>

  var eles = document.getElementsByTagName('img'); 
for(var i = 0; i< eles.length; i ++)
eles [i] .onclick = null;

这是您重新启用它们的方式(重新附加onClick函数) strong>

  var eles = document.getElementsByTagName('img'); 
for(var i = 0; i< eles.length; i ++)
eles [i] .onclick = when_i_click;

这是一个Jquery解决方案jquery:

尝试使用无阻碍的JavaScript,不要在DOM中添加onclick事件处理程序。

 < script> $()函数(){
var function_is_finished = false;
$('img')。on('click',function(event){
if(function_is_finished){
//当有人点击Img
}
});
})();
< / script>

当你的函数完成时,只需设置 function_is_finished true


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

解决方案

Your solution doesn't work because you removed your onClick with onClick = false. After that you need to create the onClick event handler again.

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();"/>

Try adding a function to your onclick as above.

Your onclick function:

var when_i_click = function(){
    alert('image clicked!');
}

This is how you disable your onclicks (your method)

var eles = document.getElementsByTagName('img');
for (var i=0; i < eles.length; i++)
   eles[i].onclick = null;

This is how you re-enable them (re-attach function to onClick )

var eles = document.getElementsByTagName('img');
for (var i=0; i < eles.length; i++)
   eles[i].onclick = when_i_click;

This is a Jquery solution jquery:

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>

When your function is finished just set function_is_finished to true

这篇关于如何禁用或启用所有onClick页面上的图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆