2013-11-15 273 views
1

两种方式,使一个可点击的按钮:关于img标签或锚标签的onclick事件?

方法1:

<img src="image.png" alt="" id="btn_img" /> 

方法2:

<a id="btn_img"><img src="image.png" alt="" /></a> 

除了CSS渲染差异(例如光标,所生产的蓝色图像边界IE),如果我将click事件分配给ID btn_img,是否有任何行为差异,例如跨浏览器兼容性?和最重要的问题,哪种方法更受欢迎?

的代码添加事件:

$('#btn_img').click(function() { 
    alert('do something'); 
}); 

希望这个问题不会陷入“意见为主”的范畴。

+0

如果有人禁用JavaScript,则第一种方法将失败。 – j08691

+0

都会失败,因为两者都是由jQuery触发的。 – Raptor

+0

嗯,我的观点是,真正的锚标签将工作(与有效的HREF),而JS唯一的解决方案可能会失败。 – j08691

回答

1

两个结果都是一样的。唯一的区别是点击事件在第一个方法的图像中触发,第二个方法在链接标记中触发。所以我们需要防止a tag的默认行为,但不是img tag。无论如何,就造型而言,用任何元素包装img tag会比不包装它更好,所以最好使用第二种方法。

+0

感谢提醒“默认行为”。 – Raptor