Textarea改变事件

时间:2015-07-01 10:17:04

标签: javascript jquery asp.net-mvc html5

我正在寻找一种获取Html.TextAreaFor输入的方法,但我无法找到解决方案。

我尝试了几个选项,第一个是更改功能,只有在退出后才能工作,第二个包含一个有两个缺点的按键事件:首先它在键入文本之前触发,第二个如果有人粘贴一些输入它不行。

在更改@Html.TextAreaFor(model => model.Text, 10, 50, null)的文字后,您是否知道如何获得确切的输入?

这是目前的尝试:

$('#Text').on('keyup paste input', function () {
    var value = $(this).val();
    alert(value);
});

使用:

<div class="editor-label">
        @Html.LabelFor(model => model.Text)
    </div>
    <div class="editor-field">
        @Html.TextAreaFor(model => model.Text, 10, 50, null)
        @Html.ValidationMessageFor(model => model.Text)
    </div>

我也尝试定义一个id,但仍然没有反应

1 个答案:

答案 0 :(得分:0)

您可以尝试使用计时器,并在值更改时进行测试。如下所示:

(function($){
   $(document).ready(function(){

   var value = $('#Text').val();

   setInterval
   (
      function()
      {
         if($('#Text').val() == value)
         {
           //do something
         }
         else
         {
            var newValue = $('#Text').val();
            value = newValue;
         }
     },

     1000
   )
 })
})(jQuery);

这样做的缺点是timeout将在页面持续时间内每秒运行一次。所以一定要找到一种方法,在你得到你需要的东西时清除超时。