Jquery 是否可以将单击事件绑定到按钮内的图像?

Jquery 是否可以将单击事件绑定到按钮内的图像?,jquery,xhtml,Jquery,Xhtml,我正试图得到一个按钮,里面有一个图像来触发一个事件。浏览器是FF4 <button> <img src="/exp.jpg" /> </button> 但是,这不会触发单击事件吗?有没有人能给我指出正确的方向,告诉我为什么以及我需要阅读什么来理解这种行为 非常感谢, 硅 更新: 谢谢大家的回答和评论。这种行为一开始让我觉得很奇怪,但现在有了道理。干杯 您的代码在Chrome中工作 然而,我尝试过的所有其他浏览器似乎都按照你说的做 如果你真的在追求这种效果

我正试图得到一个按钮,里面有一个图像来触发一个事件。浏览器是FF4

<button>
  <img src="/exp.jpg" />
</button>
但是,这不会触发单击事件吗?有没有人能给我指出正确的方向,告诉我为什么以及我需要阅读什么来理解这种行为

非常感谢,

更新:
谢谢大家的回答和评论。这种行为一开始让我觉得很奇怪,但现在有了道理。干杯

您的代码在Chrome中工作

然而,我尝试过的所有其他浏览器似乎都按照你说的做

如果你真的在追求这种效果,你可能不得不使用CSS来定位按钮上方的图像


应该给你更多的跨浏览器一致性。

我不知道你为什么要这样做。单击图像将导致按钮也被单击。为什么不回到那个事件上呢


首先,这将起作用,但将是特定于浏览器的,Town回答说,它确实起作用,但取决于您的浏览器以及之后的浏览器版本。基本的按钮功能是硬编码到浏览器中的,因此更改按钮最多也会有问题。我建议使用img和css来设计img边框和背景,使其看起来像一个按钮


老实说,你可以让它在一个、两个甚至三个浏览器中工作,但开发人员的目标是使它尽可能通用(IE6除外),所以我会利用你在设计领域的技能来实现你想要的,这会让你省去很多头痛

为什么要让图像具有click事件处理程序而不是按钮本身?或者。。。为什么需要
?这是一个使用jquery ui的简单测试,我想我应该添加一个小十字,这样按钮就可以“关闭”。这就是我发现按钮元素中点击事件的有趣问题的原因。它在Chrome中触发两次,Chrome似乎是唯一一个这样做的浏览器。。。目前为止正确的。我的观点是,在所有浏览器中,监听按钮的点击都会起作用,而监听要点击的图像则不能起作用。这就是为什么点击按钮可以完成同样的事情,而且是更可靠的方法。刚刚在chrome上测试过,正如你所说,效果很好。我原以为这与冒泡或捕获有关,但无法解决,因此请求帮助:)这将在每个浏览器甚至该浏览器的版本上运行,因为按钮功能都是硬编码到浏览器中的。@Si Griffiths:我添加了一个演示,向您展示关于使用CSS定位图像的含义。这在FF4、IE9和Chrome 11中始终有效。绝对同意。我在玩按钮时偶然发现了这种行为。谢谢你的建议。
$('img').bind('click', function() {
  window.alert('I was clicked');
});