首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery拖放-在可拖放中设置可点击区域

问Jquery拖放-在可拖放中设置可点击区域
EN

Stack Overflow用户
提问于 2013-05-08 12:22:05
回答 1查看 1.1K关注 0票数 1

这是一个在Jquery drag and drop - click event registers on drop上发布的后续问题

我使用的是jquery拖放。可拖动元素包含两个嵌套的div,分别浮动在left和right上。左侧div包含可拖动对象上的文本,右侧div包含切换工具提示的小“info”按钮。

在拖放时,我希望包含可拖动对象文本的左侧嵌套div是可单击的。drop由以下函数处理:

代码语言:javascript
复制
function handleElementDrop( event, ui ) {
  var slotNumber = $(this).data( 'number' );
  var elementNumber = ui.draggable.data( 'number' );

  if ( slotNumber == elementNumber ) {



ui.draggable.css( 'cursor', 'pointer' );
ui.draggable.parent().find('.element_left').click(function(e) {  
        window.open(ui.draggable.attr('data-link'));
    });

ui.draggable.parent().find('.info').addClass('correct');
    ui.draggable.addClass( 'correct' );
    ui.draggable.draggable( 'disable' );
    $(this).droppable( 'disable' );
    ui.draggable.position( { of: $(this), my: 'left top', at: 'left top' } );
    ui.draggable.draggable( 'option', 'revert', false );
  } 
}

现在,这里有:

代码语言:javascript
复制
ui.draggable.parent().find('.element_left').click(function(e) {  
        window.open(ui.draggable.attr('data-link'));
    });

适用于可单击的左侧嵌套div OK,但我在上一个问题中发布的问题似乎仍然存在。也就是说,在删除时,会激发click事件。这种情况偶尔会发生……我在http://jsfiddle.net/5wcaQ/上有点事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-08 12:26:26

i不是.element_left元素,它是其中的info元素。

此外,行为也可能与我们在另一个单击事件处理程序中注册单击事件处理程序的事实有关。尝试将事件注册放到setTimout中,看看它是否得到了修复

代码语言:javascript
复制
setTimeout(function(){
    ui.draggable.find('.element_left').click(function(e) { 
        window.open(ui.draggable.attr('data-link')); 
    });
});

演示:Fiddle

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16432605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档