Приведенный выше код тоже не совсем правильный. Он запускает событие click для ВСЕХ экземпляров Jeditable.
Есть много способов сделать это, и все зависит от вашего HTML, но, например, если у вас следующий HTML:
<div class="edit" id="unique_id">Editable text</div>
<a href="#" class="edit_trigger">Edit me!!</a>
Тогда вы можете использовать следующий JavaScript:
/* Bind Jeditable instances to "edit" event. */
$(".edit").editable("http://www.example.com/save.php", {
event : "edit"
});
/* Find and trigger "edit" event on correct Jeditable instance. */
$(".edit_trigger").bind("click", function() {
$(this).prev().trigger("edit");
});
Можно поместить этот код в функцию щелчка другого элемента. пример:
HTML:
<a class="clickme">Click me to edit</a>
<div class="edit">Edit Me!</div>
jQuery:
$(document).ready(function() {
$("a.clickme").click(function(){
$('.edit').editable('http://www.example.com/save.php');
});
});
Хорошо, ответ Ata не вполне работал, но он действительно устанавливал меня на правильном пути:
$(document).ready(function() {
$('.edit').editable('http://www.example.com/save.php');
$("a.clickme").click(function(){
$('.edit').click();
});
});
Я объединил возможности двух предыдущих ответов для нацеливания на следующий редактируемый элемент следующим образом:
/ * Находим и запускаем событие «редактирования» в следующем экземпляре Jeditable. * /
$ (". edit_trigger"). livequery ('click', function () {
$ (это) .next (). click ();
});