Javascript:在firefox上输入带有奇怪行为的input元素

时间:2012-09-14 12:17:05

标签: javascript jquery firefox input

我有一个带有选择,按钮和输入元素的html表单。

<form action="">
    <button>innocent button</button>
    <select multiple name="multiple">
    <option selected value="a">A</option>
    <option value="b">B</option>
</select>
<input style="width:300px" type="text" value="press here enter and look at the multiple select" name="" />
</form>

和一些jquery javascript

$(document).ready(function(){
            console.log('hi');


            var $button = $('button');

            $button.on('click',function(e){

                $('select option').first().attr('selected',false);
                e.preventDefault();

            });

演示:在这里试试: http://jsfiddle.net/3Rjdh/

在Chrome上一切正常。 但在Firefox上: 如果在输入字段中按ENTER键,则select元素将失去选中状态。

Firefox有什么问题?

2 个答案:

答案 0 :(得分:0)

当您在输入上按Enter键时,您实际上是在触发按钮的click事件,尝试在其中放置conole.log并且您将看到它

您可以doing something this

停止提交
  function stopSubmit(e){
      e = e || event;
      return (e.keyCode || event.which || event.charCode || 0) !== 13;
   }

然后在表单中添加按键事件

    <form onkeypress="return stopSubmit(event)">

请参阅updated fiddle

答案 1 :(得分:0)

我想,我通过添加带有值按钮

的属性类型来修复它

http://jsfiddle.net/3Rjdh/2/

相关问题