簡體   English   中英

jQuery模糊事件

[英]JQuery blur event

我在表單上有一個文本區域和一個“添加”按鈕。 默認情況下,文本區域顯示為縮小和灰色。 重點突出時,將通過更改樣式來突出顯示。 在模糊時,它應該返回到以前的狀態。 除了突出顯示文本區域外,添加注釋還應切換為可見和隱藏。 問題是,當我在文本區域中輸入數據並單擊添加按鈕時,blur事件隱藏了添加按鈕,並且添加按鈕上的事件從未觸發。

看來我的問題還不清楚...解決方案類似於執行blur事件,只是下一個焦點元素不是“添加”按鈕...

如果輸入了文本,是否可以安全地假設您不想切換按鈕,因為用戶打算輸入注釋? 如果是這樣,您可以執行以下操作:

$(textBox).blur(function() {
  if($(this).val().length == 0) {
    //change the style
    //hide the button
  }
})

僅當在文本區域中未輸入任何內容時,才需要取消突出顯示文本區域並隱藏“添加”按鈕:

$('textarea').blur(function() {
    if($(this).val() != '') {
        // unhighlight textarea
        // hide "add" button
    }
});

這樣,如果用戶實際在其中輸入了某些內容,則無論該字段是否具有焦點,用戶始終可以看到該字段和按鈕。

在焦點停留在文本框和按鈕被隱藏之間放置一小段延遲,例如

function textBox_blur(evt) 
{
    window.setTimeout(
        function() { button.style.display = 'none'; },
        200 // length of delay in milliseconds
    );
}

這將為點擊處理留出足夠的時間(盡管您可能希望按延遲時間播放)

暫無
暫無

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

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