событие livequery keypress - PullRequest
       5

событие livequery keypress

2 голосов
/ 31 декабря 2010

(Я использую функцию before() из jquery для добавления нового элемента <p> в слой div.

$('#AddParagraphButton').click(function() {
    $('#TheLayer').before('<p contentEditable='true'>Some text...</p>');    
});



здесь я установил функцию keypress для вставки тега <br>.

$('p').keypress(function(e){
    if(e.which == 13){
       e.preventDefault();  
       document.execCommand('insertHTML', false, '<br/>');
    }
});


это работает нормально (вставка тега br), пока не будет вызвана функция добавления и не будет добавлен новый <p>. Как получить livequery для отмены привязки события keypress и повторной привязки?


РЕДАКТИРОВАТЬ: теги <p> имеют свойство contentEditable . Я делаю это, потому что теги <br> обернуты в div, и я хочу только теги <br>

1 Ответ

1 голос
/ 31 декабря 2010

Рассматривали ли вы использование встроенной live() функциональности? ..

Описание: Прикрепить обработчик к событию для всех элементов, которыесоответствовать текущему селектору, сейчас и в будущем.

$('p').live("keypress", function(e){
    e.preventDefault();
      if(e.which == 13){
         document.execCommand('insertHTML', false, '<br/>');
    }
});
...