Вопрос

(Я использую 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, чтобы раскрыть нажатие клавиши событие и снова связывать?


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

Это было полезно?

Решение

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

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

$('p').live("keypress", function(e){
    e.preventDefault();
      if(e.which == 13){
         document.execCommand('insertHTML', false, '<br/>');
    }
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top