(我正在使用 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