2
我使用jQuery live()
函數來更改表單文本輸入的邊框顏色,以便爲用戶更好地指示它們當前正在鍵入的元素。對我來說更容易使用live()
而不是bind()
,因爲有些情況下新的表單輸入會動態插入到頁面中。jQuery live()不會在Firefox中顯示文本光標
通過閱讀通過jQuery documentation for live()
我明白,每個處理程序必須返回false以防止其他處理程序執行。無論我是否誤解這實際上意味着什麼,這裏是我必須添加和刪除我的表單輸入邊框顏色的代碼。
$('input.highlight').live({
focus: function() {
$(this).parent('span').addClass('input-focus');
return false;
},
blur: function() {
$(this).parent('span').removeClass('input-focus');
return false;
}
});
這完全適用於Chrome和Safari除了在Firefox中閃爍的文本光標不會出現在表格裏面輸入時,它已經集中。如果我刪除return false;
它顯示。這可能是我遇到過的一個jQuery錯誤嗎?
它的方式.Live氣泡和返回false阻止某些事件從代理上鍊起來更高 – Raynos 2010-12-12 14:24:49
那麼Chrome和Safari在設置邊框顏色類並返回false之後或在回報,Firefox不是? – greenie 2010-12-12 15:00:56