问答详情
源自:3-3 jQuery表单事件之select事件

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

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

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

提问者:会飞的辣翔 2016-09-06 16:15

个回答

  • 不完美
    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;

        })

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

  • 啊啊啊啊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

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