将<div>标记替换为chrome on keydown for chrome for HTML contenteditable </div>

时间:2013-02-07 13:09:52

标签: javascript jquery

我无法在Google Chrome中的keypress上用br标签替换div标签。当您按Enter键时,Google Chrome将其作为div标签读取,但我希望将其作为br标签使用。请提出解决方案。

我试过这个:

$("#condition_pop").keypress(
   function { 
     if (e.which == 13) { 
           e.preventDefault(); 
           document.selection.createRange().pasteHTML("<br/>"); 
 } })

2 个答案:

答案 0 :(得分:0)

这是一个用于捕获ENTER键的跨浏览器方法:

$('#condition_pop').keydown( function(e) {
    var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
    if(key == 13) {
        e.preventDefault();
        alert("enter pressed");
    }
});

在Chrome 24上测试:http://jsfiddle.net/PTauw/1/

答案 1 :(得分:0)

我使用以下函数将<div>标记替换为<br>

$(function($){ 
$.fn.editableContent = function() 
    { 
        return this.html().replace(/<div>/gi,'<br>').replace(/<\/div>/gi,''); 
    }; 
});