如何解决当单击事件不起作用时,jQuery禁用图像
| $(\'.input_control\').attr(\'disabled\',true);
我正在为上一个或下一个做这个。上一个是image.user单击prev img,然后它去查询和加载文件,但是在这里用户不断单击并冻结了屏幕
交换并添加一些灰色图像。我这样做是为了防止连续单击。
用户单击图像,我将其禁用,并在成功加载文件后将其启用。
解决方法
图片不能为
disabled
。您必须通过更改src
属性而不是disabled
属性来将图像交换为新图像。
, 将图像的src更改为灰色。
或者,您可以在其顶部添加第二个图像,该图像是半透明的png,以添加灰色/白色叠加层。优点是您只需要一个图像即可将整个图库显示为灰色,因此工作量较少,因为您无需为所有图像创建灰色版本。但是我不确定是否会给您想要的灰色外观。
, 根据评论更新:
要加载原始图像,可以对图像应用ѭ4to事件,如下所示:
$(\'.input_control\').load(function(){
$(this).attr(\'src\',\'path to original image\');
});
您只需使用src
属性为灰色图像指定新路径:
$(\'.input_control\').attr(\'src\',\'greyed image path\');
假定ѭ8是要交换图像的图像类别。
, 您可以做的是减少不透明度,这将为您提供所需的效果,而无需生成变灰的图像:
$(\'.input_control\').fadeTo(100,0.50);
100是100ms的时间-您可以在时间上四处移动以使其具有良好的淡入淡出效果。 0.50是不透明度1等于100%,0.50等于50%
jQuery fadeTo参考
(intrest的其他功能是fadeIn和fadeOut,它们的作用类似于fadeTo,不同之处在于它们隐藏和显示元素而不是使其透明)
您也可以使用:
$(\'.input_control\').css(\"opacity\",0.50);
这将使其再次变得不透明:
$(\'.input_control\').fadeTo(100,1);
要么
$(\'.input_control\').css(\"opacity\",1);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。