javascript - 是否有任何事件可以检测textarea的值变化?

标签 javascript jquery html

我有这个代码:

$("#textarea_id").on('input', function(e){
	alert('the value of textarea changed');
});

$("#bold").on('click', function(e){ $("#textarea_id").val('bold'); });
$("#italic").on('click', function(e){ $("#textarea_id").val('italic'); });
$("#underline").on('click', function(e){ $("#textarea_id").val('underline'); });
$("#center").on('click', function(e){ $("#textarea_id").val('center'); });
$("#leftside").on('click', function(e){ $("#textarea_id").val('leftside'); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id = "textarea_id"></textarea>
<br>
<button id = "bold">B</button>
<button id = "italic">I</button>
<button id = "underline">U</button>
<button id = "center">C</button>
<button id = "leftside">L</button>

目前我正在使用 input 事件来检测文本区域更改的值。但正如你所见,它不起作用。我的意思是,当我单击每个按钮时,我没有看到此警报“textarea 的值已更改”

我可以通过在这些末尾添加 .change() 来做到这一点:

$("#textarea_id").val('bold').change();
$("#textarea_id").val('bold').change();
.
.
.

但这不是我要找的。我需要一个基于文本区域上的更改的事件。所以我想在这里举办一个事件:

$("#textarea_id").on(' /* event here */ ', function(e){

还有什么事件比通过.val()改变textarea的值更敏感吗?

最佳答案

这是我的解决方案:

$(document).ready(function(){
	$("#textarea_id").on('input change', function(e) {
     alert('the value of textarea changed');
     });

	$(".myButton").click(function(){
		var elementValue = $(this).attr("id");
		$("#textarea_id").val(elementValue).trigger("change");
	});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<textarea id="textarea_id"></textarea>
<br>
<button class = "myButton"     id="bold">B</button>
<button class = "myButton"     id="italic">I</button>
<button class = "myButton"     id="underline">U</button>
<button class = "myButton"     id="center">C</button>
<button class = "myButton"     id="leftside">L</button>

关于javascript - 是否有任何事件可以检测textarea的值变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37902599/

相关文章:

javascript - 在 contao 中取消设置 javascript 文件

jquery - 在 jQuery 中,$(function) 等同于 $(document).ready(function) 吗?

html - Bootstrap - 在鼠标悬停时更改图标图像

javascript - 如何将标签的innerHTML渲染为嵌套HTML

javascript - 使用带有后文档就绪回调的 Jquery 异步获取多个脚本的正确方法

javascript - 在全日历中禁用外部事件的突出显示

javascript - 使用 jquery strip 支付更改数据货币属性

php - 获取在 jquery 中预览的图像的 SRC

javascript - 显示和隐藏 div 需要帮助

javascript - 无法获取未定义或空引用的属性 'classList' - 在第一次鼠标单击时