У меня есть поля jeditable, которые обновляются AJAX, поэтому я использую .live() в сочетании с Jeditable, чтобы иметь возможность постоянно связывать jeditable поля после обновления AJAX. Однако с помощью live() он подавляет первый «щелчок», а второй щелчок делает поле редактируемым.
Интересно (и, возможно, ключ к решению), если я использую 'this' в качестве ссылки, первый щелчок подавляется для каждого отдельного поля класса jedtxt (т.е. нужно дважды щелкнуть, чтобы войти в поле A jedtxt и затем еще дважды, чтобы ввести редактирование для поля B jedtxt), но если я использую имя класса '.jedtxt', первый щелчок подавляется только один раз (нужно 2 щелчка, чтобы ввести поле A, но после этого поля B можно ввести одним щелчком мыши — похоже, он «запоминает» первый щелчок по классу.
Использование $(this) Подавляет первый щелчок каждый раз при щелчке элемента класса jedtxt:
$('.jedtxt').live('click', function() {
$(this).editable('/post/somewhere',{ // note use of $(this)
'submit': 'OK',});});
Использование $('.jedtxt') подавляет первый щелчок только при первом щелчке класса jedtxt:
$('.jedtxt').live('click', function() {
$('.jedtxt').editable('/post/somewhere',{ // note use of $('.jedtxt')
'submit': 'OK',});});
И элементы jedtxt такие:
<div id="ni-50" name="ni-50" class="jedtxt">somevalue to edit</div>
Хотя второй случай немного лучше, я все еще ищу щелчок для редактирования, чтобы он работал непосредственно при первом щелчке. Примечание. Я попробовал двойной щелчок или другие триггеры событий, и проблема та же. Это ванильная тестовая страница без других событий, связанных с элементом div.
Заранее благодарим за любую помощь в этом.