0

我有一个简单的代码,它会在我按 Enter 后清除 textarea (一个输入 - 像往常一样只是下一行)

<textarea name="text" id="text" wrap="soft"></textarea>

和.js(基于jquery)

(function($) {
       $.fn.keyWatcher = function() {
              return this.keydown(function(evt){
                     var $this =  $(this);
                     var prevEvt = $this.data('prevEvt');
                     $this.trigger('multikeydown',[prevEvt,evt]);
                     $this.data('prevEvt',evt);
              });
       }; 
})(jQuery); //plugin for double key remember 

$('#text').keyWatcher().bind('multikeydown',function(evt,prevKey,currKey){
       var prKey = ((prevKey) ? prevKey.keyCode : "(none)");
       var cuKey = currKey.keyCode;
       if (cuKey == 13 && prKey == 13 ) { 
              $("#text").val('');
       }else{

       }

这段代码几乎可以正常工作 - 它清理了我的 textarea,但它在开始时留下了一个空行。它不在乎我之前输入了多少行 - 1 或 100,无论如何它都会将第一行留空并将光标放在第二行。

我该如何解决?

谢谢!

4

1 回答 1

0

当您清除它时,输入压力尚未添加到该字段中。将插件中的事件更改为 keyup ,以便在添加换行符后触发。

return this.keyup(function(evt){

演示:http: //jsfiddle.net/LtsAx/

于 2013-04-12T11:06:00.457 回答