我如何拦截所有图片的点击?我有一堆图像,每个需要回复点击
how can I intercept a click for all img's ? I have a bunch of images, each needs to reply to a click.
我想向我的用户展示图像,在那里他们可以选择它们。我需要他们选择一个有限的数字,比如5个,所以:图像显示在一个矩阵中,用户可以点击它们。我想:
function boom()
{
this.css('background-color','#fff');
this.data('clicked','yes');
// I should also make checks here to see how many were clicked already
}
$('img').click(boom);
//我认为这将连接所有的img点击到这个函数,其中我可以调用'this'与css函数…
但是它不像我想象的那样工作…
$(function(){
var clicked_img = 0;
$('img').click(function(){
$(this).css('background-color','#fff').data('clicked','yes');
clicked_img++;
});
});
编辑:为新请求更新了下面的代码,在注释线程中找到:
根据你更新的代码请求,如果你的HTML是:
<img id="one" class="clicked" src="img/one.png" />
<img id="two" class="clicked" src="img/two.png" />
这个JQuery已经修复为您工作:
$('img.clicked').click(function(){
boom(this);
});
function boom(e) {
if($(e).data('clicked')=='yes') {
$(e).data('clicked','no').css('border','none');
}
else {
$(e).data('clicked','yes').css('border','3px solid #cccccc');
}
}
新代码的工作演示:http://jsfiddle.net/Vwye8/
尝试将变量赋值给匿名函数
var boom = function()
{
this.css('background-color','#fff');
this.data('clicked','yes');
// I should also make checks here to see how many were clicked already
}
,然后调用$('img').live("click",boom);
Js fiddle here: http://jsfiddle.net/t7u6t/
相关文章:
- 如何用JavaScript或jQuery替换一堆标签
- JavaScript-传单,添加了一堆标记
- 按钮仅显示一次图像
- 单击从一张图像切换到两张图像,然后再切换回一张图像
- 无限循环一组图像
- 制作图像滑块,每 6 秒更改一次图像
- 单击另一张图像,显示一张图像几秒钟
- 使用年、月、日期、小时、秒格式每分钟刷新一次图像
- 如何使用Gulp编译并移动到另一个文件夹一堆sass文件
- 仅当图像完全可用时,每秒刷新一次图像
- 有没有更好的方法以一定的顺序执行一堆部分异步的jQuery函数
- 使用一堆 setTimeouts 还是一个 setInterval 来刷新一堆对象更有效
- 悬停时,图像从另一张图像后面滑出
- 学习JavaScript:有没有办法在不使用个人ID的情况下更改一组图像的图像文件
- 快速翻转 2 插件 - 仅翻转一次图像
- 在超大的jquery中,如何使用java动态传递一堆图像
- 在画布上画一堆图像
- 我怎样才能注入一堆图像而不移动下面的项目
- 试图隐藏和显示一堆图像
- 我如何拦截所有图片的点击?我有一堆图像,每个需要回复点击