Textarea startwith功能不起作用

Textarea startswith function not working

我正在尝试在 textarea 上应用 starts with 函数,但显然我做错了什么。我不明白javascript,所以对于明显的错误或问题,我深表歉意。至少我尝试了对我来说合乎逻辑的方法...... Fiddle 此处:http://jsfiddle.net/SVxbW/235/

HTML:

$("textarea").bind(function () {
  if ($(this).startsWith("Hello") {
      $(".kuk").show();
  }
  else {
   $(".kuk").hide();
  }
}); 
.kuk {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<textarea></textarea>
<button class="kuk">Clear</button>

如果有人用鼠标右键单击粘贴文本 "Hello" 怎么办?如何识别那个动作呢?

您需要获取 val() 然后使用 startsWith()。此外,您需要绑定适当的事件处理程序。这里我用了keyup

$("textarea").on('keyup', function() {
    if ($(this).val().startsWith("Hello")) {
        $(".kuk").show();
    } else {
        $(".kuk").hide();
    }
});

Updated Fiddle

试试这个。您需要绑定一个 event 还需要获取 val 以检查它是否 startswith hello

 $("textarea").bind('keyup',function () {
       if ($(this).val().startsWith("Hello")) {
          $(".kuk").show();
       }
       else {
          $(".kuk").hide();
       }
    });

Here 是 jsfiddle

我为那些想知道我现在使用的代码的人制作了 jsfiddle。我添加了几种输入选项,现在它也适用于 chrome。

final fiddle

$("textarea").bind('change keyup paste blur input',function () {
   if ($(this).val().startsWith("Hello") || $(this).val().startsWith("HELLO") || $(this).val().startsWith("hello")) {
      $(".kuk").show();
   }
   else {
      $(".kuk").hide();
   }
});