我有以下js:
<script>
function hadd(event,which){
var val = event.charCode;
if(val == 36){ //$ sign
var rh = $(which);
var cont = '<span class="dollar">Money</span>';
rh.append(cont); //????
}
};
</script>
<div class="example" contenteditable="true" tabindex="-1" onkeypress="hadd(event,this);">
Please insert (here) now
</div>
当输入“$”时,它会在“请立即插入(此处)”的末尾追加新的span
。
Please insert ($) now money.
在删除$
符号时,如何在键入$
的位置后追加范围? (见下文)
Please insert (money) now
答案 0 :(得分:1)
filtfilt()
见JSfiddle。我通过用<script>
$(function() {
$('.example').keyup(function(event) {
if (event.which == 52) { // "$"
var rh = $(event.target);
var newContent = rh.html().replace('$', 'Money');
rh.html( newContent );
}
});
});
</script>
<h5>Type "$" into the "here" section</h5>
<div class="example" contenteditable="true" tabindex="-1">
Please insert (here) now
</div>
的jQuery事件处理程序替换onkeypress
属性,使jQuery-ish多了一点。我切换到example
,因为在密钥上升之前,keyup
的内容中没有显示$
(例如<div>
)。当我这样做时,keypress
的代码从36变为52。
编辑:固定链接到jsfiddle