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