livequery按键事件

时间:2010-12-30 21:06:37

标签: javascript jquery livequery execcommand

(我使用jquery中的before()函数将新的<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标签插入),直到调用append函数并添加新的<p>。如何让livequery取消绑定 keypress 事件并再次绑定?


修改<p>代码具有 contentEditable 属性。我是这样做的,因为<br>标签包含在div中,我只想要<br>标签

1 个答案:

答案 0 :(得分:1)

您是否考虑过使用内置的live()功能?..

  

说明:为现在和将来与当前选择器匹配的所有元素附加处理程序。

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