2016-12-06 52 views
0

我想应用在textarea函数上启动,但显然我做错了什么。我不明白JavaScript,所以我很抱歉有明显的错误或问题。至少我试了一下似乎合乎逻辑,我...小提琴这里:http://jsfiddle.net/SVxbW/235/Textarea startswith功能不起作用

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”用鼠标右键单击什么?如何认识到这一行动呢?

+0

'$(本).VAL()。startsWith( “你好”)' – Satpal

+0

还你从来没有关闭如果与')' –

+0

http://jsfiddle.net/SVxbW声明/ 240/ –

回答

0

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

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

Updated Fiddle

+0

是的,它是正确的:)现在似乎很明显,非常感谢你,我还有一个问题,有没有一些简单的方法来编写多个参数?例如:if .startWith(“This”或“This”或“This”))? – user7176800

+0

@ user7176800,'$(this).val()。startsWith(“Hello”)|| $(this).val()。startsWith(“this”)' – Satpal

+0

但是如果有人用右键单击鼠标粘贴文本“Hello”会怎么样?如何认识到这一行动呢? – user7176800

0

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

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

Here是的jsfiddle

+0

但是如果有人用右键单击鼠标粘贴文本“Hello”?如何认识到这一行动呢? – user7176800

+0

@ user7176800处理粘贴事件。 – Mairaj

+0

我只用'输入',它同时注册 - 粘贴和输入! – user7176800

0

我做的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(); 
    } 
});