我有一个带有多个div的网页。当用户点击正文时,所有div元素的边框都会变为红色。但是,当用户点击一个div时,只有该div将其边框更改为蓝色。其他div元素将保留红色边框。这是我到目前为止的代码:单击以将边框添加到div
$('body').click(function() {
var $target = $(event.target);
if (!target.closest($('div')).length) {
//I want the border of all div on the page to change to red
$('div'). css('border', '2px solid red');
} else if (target.closest($('div')).length) {
//Here just the div that was clicked on will have its border changed to blue
$(this).css('border', '2px solid blue');
}
});
-1 - 然后在OP代码的事件被绑定到body元素,单击事件上的div出现冒泡的身体,但由于事件没有被绑定到div,这并未没关系。 'stopPropagation'不会影响任何事情,因为具有事件监听器的唯一元素是主体本身,所以没有更多的冒泡可做。此外,'stopPropagation'不是“jQuery方法”,而是标准DOM事件对象本身的方法。小问题,最后一点,但重要的是要了解什么是和不是真正的jQuery的一部分。 – 2012-07-27 16:23:41
感谢buddy ..我明白了.. – 2012-07-27 17:06:39