jQuery或any:可能只使div的一部分可单击



是否可以使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可点击,但然后通过检查单击的坐标来确定您是否想要处理事件

您可以检查事件对象上的offsetXoffsetY属性的值,如果您不喜欢它们,则决定不做任何事情。

或者,如果您需要单击事件根本不触发,您可以动态创建额外的透明<div> s,并将它们部分放置在现有元素的前面,以便它们掩盖您不希望响应单击的部分。

相关内容

  • 没有找到相关文章

最新更新