2015-02-06 61 views
1

每当我粘贴textarea的文本,它应该剥去性格像<,>,@等我尝试 在JQuery中在粘贴文本时在textarea的删除字符

$('input').on('paste', function() { var element = this; setTimeout(function() { var text = $(element).val(); // do something with text }, 100); }); 

$('input').on('paste', function() { 
 
    var element = this; 
 
    setTimeout(function() { 
 
    var text = $(element).val(); 
 
    text.replace('<', ''));           
 
    }, 100); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea id="test" name="test" style="height:300px; width:400px"></textarea>

回答

2

您正在使用inputelement selector仅匹配标记名为input的元素,如<input type="..." />,而不是textarea,因此

$('textarea').on('paste', function() { 
 
    var $el = $(this); 
 
    setTimeout(function() { 
 
    $el.val(function(i, val) { 
 
     return val.replace(/[<>@]/g, '') 
 
    }) 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<textarea id="test" name="test" style="height:300px; width:400px"></textarea>

+0

谢谢你的有用和详细的我想要什么 – 2015-02-06 06:06:45

+0

可我知道。为什么你在这个函数中使用'i' $ el.val(function(i,val){}); – 2015-02-06 06:46:27

+0

@BhaskarChalla是'.val()'回调函数的给定格式,'i'是当前元素的索引 – 2015-02-06 07:05:40

相关问题