有人可以解释jquery .select()方法吗?

时间:2017-02-01 17:48:42

标签: javascript jquery

我查看了文档,我在查找有关此方法的信息时遇到了麻烦,我认为它会处理在文本输入或文本区域中添加或更改文本的事件。但是,不能让它工作。我希望有人可以向我进一步解释这个事件处理程序。

<input id="first" type="text">// if something is typed here an event should be triggered
      //at least if my understanding is correct which it clearly isnt
<input id="second" type="text">//hello should appear here when the event is triggered

<script>
       $("#first").select(function(){$("#second").val("hello")})//this does nothing
</script>

4 个答案:

答案 0 :(得分:2)

基于 official documentation of jquery for .select() ,这里有它的定义和示例。

官方说明

  

将事件处理程序绑定到“select”JavaScript事件或触发器   元素上的那个事件。

这意味着当您在源元素中select文本时,您正尝试对目标元素执行某些操作。注意它正在做什么的评论。

//always good to wrap events inside document.ready
$(function() {
  $("#first").select(function() {
    //once you perform select operation on input#first element either by Ctrl+a
    //or by Mouse drag event
    $("#second").val("hello");
    //value of input#second element should be updated to hello
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="first" type="text">
<input id="second" type="text">

答案 1 :(得分:1)

您误解了select方法。选择输入元素中的文本时使用它。您的注释表明您希望在键入内容时触发代码。

为此,如果要在元素中接收输入时触发函数,则应使用input事件。

此外,您的函数未在#引用前包含second,因此您无法正确访问该元素。

$("#first").on("input", function(){
  $("#second").val("hello")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="first" type="text">
<input id="second" type="text">

答案 2 :(得分:1)

当您在text或textarea元素中选择文本时,

$.select()可以正常工作。当你&#34;突出显示&#34;用鼠标发短信。试试下面的内容:

&#13;
&#13;
$("#first").select(function() {
  $("#second").val("hello");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>First:</div>
<input id="first" type="text" value="select this text">
<div>Second:</div>
<input id="second" type="text">
&#13;
&#13;
&#13;

如果你想加入附加内容,你可以使用像jquery&#39; s on input这样的东西:

&#13;
&#13;
$("#first").on('input', function() {
  $("#second").val("hello");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>First:</div>
<input id="first" type="text">
<div>Second:</div>
<input id="second" type="text">
&#13;
&#13;
&#13;

答案 3 :(得分:1)

<body>
<input id="first" type="text">
<input id="second" type="text">
<script>
$("#first").change(function() {
    $("#second").val("hello")
})
</script>
</body>