为了账号安全,请及时绑定邮箱和手机立即绑定

这里单击按钮后输入框后面为何出现两次"文本被选中!"文本

如题,选中输入框内容后,输入框后面出现一次"文本被选中!"文本,理解,但单击按钮后输入框后面为何出现两次"文本被选中!"文本?

正在回答

3 回答

为啥我这里出现3次  两次我倒能理解··

0 回复 有任何疑惑可以回复我~

1:$("input").select()是默认选中的意思,所以代码中function函数去掉只留$("input").select()代码面加载后输入框被选中了

2:$("input").select(function(){    $("input").after("文本被选中!");  });是如果选中,则执行。

3:百品的意思是,点击button,触发了$("input").trigger("select");执行了一次after,然后浏览器又认为出现了选中状态,所以又执行了一次$("input").select(function(){    $("input").after("文本被选中!");  });

2 回复 有任何疑惑可以回复我~

select()本身执行了一次after,下面trigger又触发一次select,而select还要执行一次after。

爸爸有一个儿子(trigger)和一个女儿(select),爸爸给女儿买一个冰激凌(after),女儿就得到一个冰激凌;但是给儿子买一个冰激凌,女儿就不高兴,也得要一个。所以就有了现在的代码,你点击button就是给儿子买冰激凌,你选中input中的内容就是给女儿买一个冰激凌。


PS:这个问题是你还没有了解到select()方法。

1 回复 有任何疑惑可以回复我~
#1

ShawpLee 提问者

确实还没了解到select()方法。但看了你的解释后,还是有点不明白。如果select()本身执行了一次after,那么去掉下面的 $("button").click(function(){ $("input").trigger("select"); }); 代码,案例页面加载后输入框后面应当就有 "文本被选中!"文本,但实际没有。但我将 $("input").select(function(){ $("input").after("文本被选中!"); }); 代码中function函数去掉只留$("input").select()代码,(接下)
2014-12-09 回复 有任何疑惑可以回复我~
#2

ShawpLee 提问者

页面加载后输入框却分明又被选中了,不知如何解释。
2014-12-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

这里单击按钮后输入框后面为何出现两次"文本被选中!"文本

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信