select()函数问题为什么点击了button按钮,input里的文字被选中?

来源:3-3 jQuery表单事件之select事件

会飞的辣翔

2016-09-06 16:15

select()函数问题为什么点击了button按钮,input里的文字被选中?此时只是借用了input里的函数,并没有人为的去选中文字,浏览器给弹了三次,第一次我想应该是点击button按钮触发input绑定的select事件,第二次弹应该是不知道是谁把input里的文字给选中了,所以会弹一个出来,第三次弹真是见鬼了,难道是前两次弹的都是button按钮上的click事件在起作用?只有第三次才真正是input发现自己被选中了,兴奋的弹了一下,吓尿了观众!

我最想知道的是button按钮click为什么会导致input选中文字,第一次弹的时候文字根本没被选中

写回答 关注

5回答

  • 不完美
    2016-10-25 20:57:12

    点击click执行了select,select不就是选中文字的么$("#bt1").click(function(){
            $("input").select();
        })

  • qq_郭祥勤_03578575
    2016-09-12 16:16:38

    这个函数会调用执行绑定到select事件的所有函数,包括浏览器的默认行为。可以通过在某个绑定的函数中返回false来防止触发浏览器的默认行为。

    $("input").select(function(e){

            alert(e.target.value);

            return false;

        })

    加上这句后的效果就比较好理解了,三次弹窗是受浏览器的默认行为的影响,去除就好了。

    小小贝堡

    select事件的浏览器默认行为也不是弹窗,为什么阻止默认行为就只会弹一次?这就是我一直想不明白的地方

    2016-10-03 16:56:14

    共 1 条回复 >

  • 啊啊啊啊123
    2016-09-08 15:36:25

    $("input").select(function(e){

            alert(e.target.value);

            return false;

        })

    form元素是有默认提交表单的行为,如果通过submit处理的话,需要禁止浏览器的这个默认行为
    传统的方式是调用事件对象  e.preventDefault() 来处理, jQuery中可以直接在函数中最后结尾return false即可

    别人是这么说的

  • Sinoproud
    2016-09-06 16:59:38

    .select()是jQuery事件函数。括号里为函数时,当select事件出发,会执行函数;括号里为空时,会执行select选中事件。

  • 流景闲草0
    2016-09-06 16:47:27

    ...╮( ̄▽ ̄")╭。。。表示没看懂

jQuery基础(三)—事件篇

jQuery第三阶段开启事件修炼,掌握对页面进行交互的操作

89997 学习 · 625 问题

查看课程

相似问题