javascript
  • jquery
  • html5
  • 2015-10-22 67 views 0 likes 
    0

    我正在使用jQuery附加一個帶有自動對焦功能的HTML按鈕。但是, 自動對焦功能不起作用。我已經厭倦了使用jQuery和CSS來關注這個問題。看起來他們是與加載的HTML和附加的HTML斷開連接,但我沒有找到有關該主題的好資源。用HTML行爲添加HTML

    var modal = " \ 
    <div id='disable-modal' class='modalDialog'> \ 
        <div id='modal-container'> \ 
         <div id='modal-banner'> \ 
         <a href='#close' title='Close' class='close'>X</a> \ 
         </div> \ 
         <h1>Are you sure you want to restore<br>H's homepage?</h1> \ 
         <button is='x-disable-extension-button' class='yes-button'>Yes</button> \ 
         <button href='#close' class='no-button' autofocus >No</button> \ 
    
        </div> \ 
    </div>"; 
    $('body').append(modal); 
    
    +0

    Wheres代碼自動對焦? – tymeJV

    +2

    @tymeJV(屬性) – epascarello

    +1

    適用於我,對於如何構建該字符串稍作改動。 http://jsfiddle.net/pLc352fx/ – AtheistP3ace

    回答

    0

    您在上面的代碼中有一個額外的換行符,導致它無法執行。需要刪除最後一個按鈕和關閉div之間的界限。如果你刪除它,它運行良好。

    var modal = " \ 
     
    <div id='disable-modal' class='modalDialog'> \ 
     
        <div id='modal-container'> \ 
     
         <div id='modal-banner'> \ 
     
         <a href='#close' title='Close' class='close'>X</a> \ 
     
         </div> \ 
     
         <h1>Are you sure you want to restore<br>H's homepage?</h1> \ 
     
         <button is='x-disable-extension-button' class='yes-button'>Yes</button> \ 
     
         <button href='#close' class='no-button' autofocus >No</button> \ 
     
        </div> \ 
     
    </div>"; 
     
    $('body').append(modal);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

    如果這只是一個錯字,比也許你可以做手工。

    $(modal).appendTo("body").find("[autofocus]").focus(); 
    
    +0

    謝謝我將文本複製過來時,我必須將其中的額外空間作爲拼寫錯誤。但我相信問題在於,我追加的這個文本是一種模式,當用戶點擊標籤打開模式時,「否」按鈕必須鬆開它的焦點。 – Hessvacio

    0

    @tymeJV是正確答案......

    var modal = "<div id='disable-modal' class='modalDialog'> " 
        + "<div id='modal-container'> " 
        + "<div id='modal-banner'> " 
         + "<a href='#close' title='Close' class='close'>X</a>" 
         + "</div> " 
         + "<h1>Are you sure you want to restore<br>H's homepage?</h1> " 
         + "<button is='x-disable-extension-button' class='yes-button'>Yes</button> " 
         + "<button href='#close' class='no-button' autofocus >No</button> " 
        + "</div>" 
    + "</div>"; 
    $('body').append(modal); 
    $('#close').focus(); 
    
    +0

    它通過約定看起來更好,但它不能解決自動對焦問題。 – Hessvacio

    +0

    當您調用.focus()會發生什麼?查看更改以回答... – AdamJeffers

    0

    所有的瀏覽器不支持 「自動對焦」 e.g IE10不但是Chrome或Firefox支持 「自動對焦」。如果模式字符串格式正確,您的代碼可以在Chrome或FireFox中完美工作。請在其他瀏覽器中測試!

    +0

    我在Chrome中運行此操作。我有一個標籤來激活模式。嘗試使用文本附加模式來查看是否通過標籤打開模式,因爲當模式打開自動對焦時不起作用。 – Hessvacio

    相關問題