jQuery的。对(“点击”)不使用jQuery UI拖动工作(jQuery .on('cl

2019-11-02 03:58发布

我有一个关于jQuery的一个问题。 我用jQuery真新,甚至是JavaScript的对于这个问题,所以请多多包涵。

我使用jQuery UI拖动在我的应用程序一些div。 问题是,jQuery的。对(“点击”)似乎并不与这些div工作。 我曾尝试使用。点击()和它的工作。 然而,申报单将要动态地创建,并根据我所学会的是最好用。对()的时候,我们要使用动态创建的元素。 下面是我的HTML片段:

<div class="book-page">
    <div class="draggable-text">
        <p>First text</p>
    </div>
    <div class="draggable-text">
        <p>Second text</p>
    </div>
</div>

这里是jQuery的片段:

$('div.draggable-text').draggable({
    cursor: 'move',
    delay: 200,
    containment: 'parent'
}).resizable().selectable();

// This one doesn't work
$('div.book-page').on('click', 'div.book-page > div.draggable-text', function () {
    alert('clicked!');
    // some more coding here...
});

// This one works
/*$('div.book-page > div.draggable-text').click(function () {
    alert('clicked!');
    // some more coding here...
});*/

最后,这里是一个的jsfiddle一个链接 ,我创建的。 我真的很感谢任何形式的帮助。

谢谢! 而遗憾的英语不好。

Answer 1:

看起来你有你的第二个部分语法错误。

尝试这个:

$('div.draggable-text').on('click', function () {
  alert('clicked!');
  // some more coding here...
});

阅读jQuery的语法“关于”事件更好地了解在何去何从的论点。 http://api.jquery.com/on/

干杯!



Answer 2:

尝试这个:

$('div.draggable-text').click(function(e){
e.preventDefault();
    alert('test');
});


Answer 3:

jQuery的语法是incorect试试这个:

$('div.draggable-text').on('click', function () {
alert('clicked......');
// some coding here...
});

点击这里: http://jsfiddle.net/jS8sK/2/



Answer 4:

如果你想绑定click事件dinamically创建拖动元素,您的第一个想法是正确的差不多。

这里是一个固定的代码: http://jsfiddle.net/G75qs/3/

$('.draggable-text').draggable({
    cursor: 'move',
    delay: 200,
    containment: 'parent'
}).resizable().selectable();

//Bind click event for all element with class .draggable-text including 
//elements dynamically created
$('.book-page').on('click', '.draggable-text', function () {
    alert('clicked!');
    // some more coding here...
});


Answer 5:

因为这是动态创建它能够更好地使用的div .live事件。

$('div.draggable-text').die('click').live('click', function () {
alert('clicked......');


文章来源: jQuery .on('click') does not work with jQuery UI draggable