Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使我用jquery编写的MouseeEvent更加优雅_Javascript_Jquery - Fatal编程技术网

Javascript 使我用jquery编写的MouseeEvent更加优雅

Javascript 使我用jquery编写的MouseeEvent更加优雅,javascript,jquery,Javascript,Jquery,我写这篇文章是为了解决IE的问题,即如果选择下拉列表的选项长度超过了select的默认值,它们就会被截断。现在它工作得很好,但我想改进代码,以便学习如何以更有用的方式编写东西 $(document).ready(function() { if ($.browser.msie) { $('select').focus(function() { $(this).addClass('expand').removeClas

我写这篇文章是为了解决IE的问题,即如果选择下拉列表的选项长度超过了select的默认值,它们就会被截断。现在它工作得很好,但我想改进代码,以便学习如何以更有用的方式编写东西

            $(document).ready(function() {
             if ($.browser.msie) {
                $('select').focus(function() { $(this).addClass('expand').removeClass('clicked'); })
                $('select').blur(function() { $(this).removeClass('expand clicked'); })
                $('select').mousedown(function () { $(this).addClass('expand').removeClass('clicked'); } )
                $('select').hover(function () { }, function () {if (!$(this).hasClass('clicked')) { $(this).removeClass('expand'); $(this.blur()) }}) 
                $('select').click (function() { $(this).toggleClass('clicked');  })
                $('select').change(function(){ $(this).removeClass('expand clicked'); $('select.widerIE').blur() })
             }
            });
我尝试创建每个事件调用的函数,但似乎失败了,例如:

            $('select').click(test (a))
                function test (a) {
                     $(a).addClass('expand').removeClass('clicked') 
                    }

我不清楚你想得到什么。有一点是肯定的——您不能定义这样的事件处理程序(请参见下面的注释):

注意:从技术上讲,您可以像上面的代码那样定义事件处理程序。要使其工作,函数测试必须返回一个函数,该函数将是事件的实际处理程序

$('select').click(test (a))