Плагин jQuery edit in place, позволяющий запускать редактирование из другого элемента - PullRequest
2 голосов
/ 24 августа 2009

Сейчас я использую Jeditable для редактирования на месте. В Jeditable есть несколько приятных опций, но (насколько мне известно) он не позволяет вам запускать редактирование, кроме как щелчком по соответствующему элементу.

Т.е., предположим, что у моего элемента есть идентификатор comment. В Jeditable единственный способ начать редактирование - это нажать comment. Я хотел бы поместить небольшой текст рядом с comment (например, «Нажмите, чтобы отредактировать свой комментарий»), который при нажатии превратит comment в редактируемое текстовое поле (и настроит кнопки «Сохранить» и «Отмена»). и т. д.).

Ответы [ 3 ]

5 голосов
/ 26 августа 2009

Хорошо, я взломал корпус. В этом блоге автор пишет

Теперь вы можете использовать любое пользовательское событие для запуск Jeditable.

$(".editable").editable("http://www.example.com/save.php", { 
   event     : "make_editable" 
});

Итак, я сделал это, а затем сделал:

  $("#id-for-text").click(function() {
    $("#comment").trigger('make_editable');
  });
1 голос
/ 25 августа 2009

Исходя из ваших комментариев выше, вы можете сделать это:

var editFn = (function(){ return $('#comment').click; })();
$('#id-for-text').click(editFn);
$('#comment').unbind('click');

Это говорит метке, что событие click должно совпадать с событием click комментария, а затем отменяет привязку события к комментарию.

Не уверен, что unbind уничтожит ссылку на editFn, следовательно, включил закрытие.

1 голос
/ 24 августа 2009

Проверьте метод jQuery .

Используйте код как:

$('#id-for-text').click(function(){
  $('#comment').trigger('click');
});
...