У меня есть вопрос относительно jQuery. Я действительно новичок в jQuery или даже в javascript, поэтому, пожалуйста, несите меня.jQuery .on ('click') не работает с jQuery UI draggable
Я использую jQuery UI, перетаскиваемый на некоторых div в моем приложении. Проблема в том, что jQuery .on ('click'), похоже, не работает с этими div. Я попытался использовать .click(), и он работает. Тем не менее, divs будут создаваться динамически и, основываясь на том, что я узнал, лучше всего использовать .on(), когда мы хотим использовать динамически созданные элементы. Ниже мой 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...
});*/
И, наконец, вот a link to a jsfiddle я создал. Я очень ценю любую помощь.
Спасибо! И извините за плохой английский.
Wow! Это делает трюк! спасибо! – taufnrsyd
Ах, конечно, извините, я пропустил это, новичок здесь: D – taufnrsyd
ну, я только что повторил его снова. Ваш ответ работает на элементы, которые уже созданы. Но это не работает для динамически созданных элементов. Это нужно немного настроить >> '$ ('div.book-page'). On ('click', 'div.draggable-text', function() {' см. Также в [my js fiddle] (http: //jsfiddle.net/arsyadtaufan/G75qs/). В любом случае, благодаря вашему ответу (и чтению документов) я могу решить свою проблему! – taufnrsyd