当点击事件不起作用时,jquery禁用图像

时间:2011-06-13 07:18:14

标签: jquery

  $('.input_control').attr('disabled', true);

我正在为prev或next执行此操作.prev是image.user单击prev img,然后进入查询并加载文件,但此处用户不断点击并冻结屏幕

交换并添加一些灰色图像。我这样做是为了防止连续点击。 用户单击图像并禁用它并在成功加载文件后启用它。

4 个答案:

答案 0 :(得分:0)

根据评论更新:

要加载原始图片,您可以将load事件应用于以下图像:

$('.input_control').load(function(){
   $(this).attr('src', 'path to original image');
});

您只需使用src属性指定灰色图像的新路径:

$('.input_control').attr('src', 'greyed image path');

假设.input_control是您想要交换图像的图像类别。

答案 1 :(得分:0)

图片不能为disabled。您需要更改src属性而不是disabled属性,才能将图片换成新图片。

答案 2 :(得分:0)

将图像的src更改为灰色图像。

或者您可以在其上添加第二个图像,这是一个半透明的png来添加灰色/白色叠加层。优点是您只需要一个图像就可以使整个图库变灰,而且它的工作量较少,因为您不需要创建所有图像的灰色版本。但我不确定它是否会给你你想要的确切灰色外观。

答案 3 :(得分:0)

你可以做的是降低不透明度,这样就可以在不产生灰色图像的情况下为你提供所需的效果:

$('.input_control').fadeTo(100,0.50);

100是100ms的时间 - 你可以玩弄时间给它一个很好的淡入淡出效果。
0.50是opacity1等于100%,0.50等于50%
jQuery fadeTo reference
(intrest的其他功能是fadeIn& fadeOut - 它们的工作方式类似于fadeTo,除了它们隐藏和显示元素而不是使它们透明)

您也可以使用:

$('.input_control').css("opacity",0.50);

这会使它再次变得不透明:

$('.input_control').fadeTo(100,1);

OR

$('.input_control').css("opacity",1);