这是在Jquery 拖放中发布的后续问题- 单击事件在放置时注册
我正在使用 jquery 拖放。可拖动元素包含左右浮动的两个嵌套 div。左侧 div 包含可拖动的文本,右侧 div 包含一个用于切换工具提示的小“信息”按钮。
在放置时,我希望包含可拖动文本的左侧嵌套 div 是可点击的。下降由以下函数处理:
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 );
}
}
现在哪里有:
ui.draggable.parent().find('.element_left').click(function(e) {
window.open(ui.draggable.attr('data-link'));
});
适用于可单击的左侧嵌套 div 确定,但我在上一个问题中发布的问题似乎仍然存在。也就是说,在放置时,会触发 click 事件。这种情况很少发生......我在http://jsfiddle.net/5wcaQ/有一个小提琴