使用绑定事件“input propertychange”防止在 TextArea 上写入
Posted
技术标签:
【中文标题】使用绑定事件“input propertychange”防止在 TextArea 上写入【英文标题】:Prevent From Writing on TextArea using Bind Event "input propertychange" 【发布时间】:2014-09-11 19:46:40 【问题描述】:我正在使用将函数绑定到事件“input propertychange”来处理文本区域内的内容
像这样:
$('#textarea').bind('input propertychange', function ()
var textarea = document.getElementById('textarea');
window.lastLineWriting = textarea.value.substr(0, textarea.value.length).split("\n").length;
var writingOnLine = textarea.value.substr(0, textarea.selectionStart).split("\n").length;
if (writingOnLine < window.lastLineWriting)
//dont write on textarea
);
我不知道如何防止用户键盘输入的字符出现在 textarea 上...如果我想阻止在 textarea 上插入文本... 我该怎么做?
【问题讨论】:
你想在文本区域打印什么? 什么意思?在 If () 里面我想禁用要在 textarea 上插入的文本 【参考方案1】:您可以使用 jQuery 轻松阻止用户输入此代码:
$('textarea').bind('keypress', function (e)
e.preventDefault();
return false;
);
注意:
此代码将阻止用户输入所有文本区域,要将其专门绑定到一个或一些选定元素,您必须将选择器更改为所需的元素。
【讨论】:
你是我的救星 :D 非常感谢!解决了! 顺便问一下,如何更改绑定到事件按键的函数内的 textarea 的文本?我正在使用这样的东西: textarea.value = textarea.value + "testing..";但它不起作用,textarea 不会更改文本 您必须使用$(this).val($(this).val()+'testing...');
,但前提是您在按键功能中使用它。
好吧,我是这样使用的: var textarea = document.getElementById('textarea'); textarea.value = textarea.value + "\nCommand>";现在开始工作了:D 谢谢!【参考方案2】:
var editable = false // Your Condition
if(editable != "true")
$("#textarea" ).attr("disabled",true);
【讨论】:
以上是关于使用绑定事件“input propertychange”防止在 TextArea 上写入的主要内容,如果未能解决你的问题,请参考以下文章