2016-02-29 37 views
1

我有一個帶有文本字段的HTML表格。當在這些文本框內敲擊回車時,焦點轉移到未禁用或隱藏的下一個輸入。我使用下面的代碼來選擇這些輸入:避免使用.not選擇器只讀屬性只讀文本框

var $focusable = $(focusable) 
    .not(":disabled") 
    .not(":hidden") 
    .not("a[href]:empty"); 

這工作正常。我的問題是,我想跳過具有readonly屬性的文本框。我嘗試添加.not(":readonly")的代碼,但它返回一個錯誤:

Unrecognized expression

我怎樣才能避免在readonly屬性的文本框?

回答

1

沒有:readonly選擇器。相反,你應該使用屬性選擇器來獲得只讀元素,像這樣:

var $focusable = $(focusable).not('[readonly], :disabled, :hidden, a[href]:empty"); 

注意,我合併所有的選擇中一個方法調用。