簡體   English   中英

jQuery:在toggleClass函數中切換屬性

[英]jQuery: toggling attribute within a toggleClass function

我試圖僅在可見時向搜索字段添加屬性,所以我將以下代碼用於:a)最初隱藏搜索表單,b)切換可見性,以及c)將屬性“自動對焦”添加或刪除到當表單被賦予類“焦點”(例如可見)時的表單輸入。 a)和b)的代碼按其應有的方式工作,c)是我對addAttr()的應有的設想,但是我並不真正了解Javascript,因此顯然它不起作用。 問題是:如何使它起作用?

$("#searchwdgt").hide();
    $(function() {
        $('#show_search').click(function() {
            $('#show_search').toggleClass('active');
            $('#searchwdgt').toggleClass('focus').slideToggle(400);
            if($('#searchwdgt.focus')) {
                $('#searchwdgt input').addAttr('autofocus');
            } else {
                $('#searchwdgt input').removeAttr('autofocus');
            }
            return false;
        });
});

基本構造很簡單。 #show_search是用戶單擊以獲取搜索表單(#searchwdgt)的錨。 為了最大程度地減少用戶單擊的次數,最好在表單可見時將屬性“自動對焦”添加到輸入中(類為“ searchfield”,類型為“ search”,僅用於澄清),但用於UX它不能總是在適當的位置(由於表單最初是隱藏的,這與選項卡瀏覽很混亂)。 因此,非常歡迎任何可以幫助解決問題的建設性指針。 謝謝。

該功能應該是

.attr('autofocus','autofocus') 

代替

.addAttr('autofocus');

它不起作用的原因是每個屬性都必須有一個值,即使它為null

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM