這是超級無聊的令人討厭的IE選擇框問題!僅當自動寬度大於當前寬度時才更改元素的寬度(選擇框)-jquery
我已經成功地解決了它...
JQUERY:
$(function(){
if($.browser.msie){
$("select:not(#wrkTimeFrm,#wrkTimeFrm1,#wrkTimeTo,#wrkTimeTo1)")
.focus(function(){
$(this).css("width","auto");
$(this).css("position","absolute");
});
$("select:not(#wrkTimeFrm,#wrkTimeFrm1,#wrkTimeTo,#wrkTimeTo1)")
.blur(function(){
$(this).css("width","145px");
$(this).css("position","inherit");
});
}
})
...但這只是到現在爲止。你可以看到:not(id)s是大小爲/小於145px的選擇框,即它不應該改變。它工作正常。但是這種選擇框的列表太多了,無法處理。此外,ID是動態的,我不知道它的寬度大於/小於145px(顯然,選項是動態的)。
所以現在,我試圖只在自動寬度大於當前寬度的情況下更新選擇框的寬度。 喜歡的東西: 「DD」。
$(function(){
if($.browser.msie){
$("select").focus(function(){
if(autoWidth>currentWidth){
do_the_rest();
}
});
}
});
而且我正在排序爲 'autoWidth' 和 'currentWidth'($()的想法outerWidth()給出了寬度145,但我怕如果我可以使用它作爲currentWidth,因爲我在同一個jsp上獲得了多個選擇框,並且具有相同的css類「dd」,儘管事件僅針對「this」選擇框觸發。可能是有人可以讓我知道如何獲得類焦點下的選擇框的名稱...也許!.....和外部寬度。)。
所以請大家幫忙!
排序:只有在設置爲自動增加寬度時,選擇框寬度才應該設置爲自動。 在選擇:.not('#id')的情況下,$(this).width()返回'null'/'undefined'... 小提琴適合你: http://jsfiddle.net/RKXmT/ 請讓我知道如果我需要更清晰......謝謝。 – AlienNova
我更新了你的小提琴:http://jsfiddle.net/robertofrega/RKXmT/2/是嗎? –
應該工作....謝謝! – AlienNova