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

时间:2016-06-18 23:41:37

标签: 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>
&#13;
&#13;
&#13;

目前,我正在使用input事件来检测该textarea更改的值。但是你看,它并没有奏效。我的意思是当我点击每个按钮时,我都没有看到此警报'the value of textarea changed'

我可以通过在这些内容中添加.change()来实现这一目标:

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

但这不是我要找的东西。我需要一个基于 textarea 上的更改的事件。所以我想在这里举办一个活动:

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

是否有任何事件比.val()更改textarea的值更敏感?

1 个答案:

答案 0 :(得分:1)

这是我的解决方案:

   class MyActualViewController: MyViewContollerSuperclass {

       @IBACTION func ~~~ {
           self.back()
       }
   }
$(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");
	});
});