是否可以使div的一部分可点击-如clickmap/imagemap?可以用jQuery吗?提示:我不想编辑html(滥用模板与200个单独的html文件)。
当您的div被单击时,事件处理程序接收事件,因此您可以测试单击的位置。
如果需要,您可能希望使用单击的元素位置和大小,使用$(this).offset()
, $(this).width()
和$(this).height()
。例如:
$('mydivselector').click(function(e) {
if (e.pageY > $(this).offset().top + 0.5*$(this).height()) {
// bottom was clicked
} else {
// up of the div was clicked
}
});
如果你想阻止默认操作和事件传播,从事件处理程序返回false。
您可以尝试为所有元素制作一个jQuery选择器,并为一些
切片var selector = "#mydiv";
var numberOfElements = $(selector).find('*').length/2; //It's just an example
$(selector).find('*').slice(0, numberOfElements).click(function() {
[....]//do stuff
});
您可能需要使整个div可点击,但然后通过检查单击的坐标来确定您是否想要处理事件
您可以检查事件对象上的offsetX
和offsetY
属性的值,如果您不喜欢它们,则决定不做任何事情。
。
或者,如果您需要单击事件根本不触发,您可以动态创建额外的透明<div>
s,并将它们部分放置在现有元素的前面,以便它们掩盖您不希望响应单击的部分。