簡體   English   中英

當單擊特定元素時,如何檢測文本區域何時失去焦點並保持其失去焦點?

[英]How can I detect when a text area loses focus and keep it from losing focus when a particular element is clicked?

我有一個#ta文本區域, #ta有一個列表#ac-list用於自動完成:

<div id='container'>
    <textarea id="ta" name="god" rows="20"></textarea>
    <ul id='ac-list' style='visibility:hidden'></ul>
</div>

當文本區域失去焦點時,我想隱藏#ac-list 所以我在文本區域上稱jQuery的blur

$('#textarea').blur(function () {
    $('#ac-list').css('visibility', 'hidden');
})

這可行,但是我想添加一個約束,即當用戶單擊#ac-list時,文本區域不應失去焦點。 我該怎么辦?

這是您需要的嗎? 這只是一個解決方法。 在文本區域上模糊和專注於li項目所花費的時間因計算機而異。

HTML:

<div id='container'>
    <textarea id="ta" name="god" rows="20"></textarea>
    <ul id='ac-list'>
        <li>dsfd</li>
    </ul>
</div>

JavaScript:

var textAreaBlur = null;

$('textarea').blur(function () {
    textAreaBlur = new Date();
});

var clickTimes = 0;
$("#ac-list > li").click(
    function() {
        if((new Date() - textAreaBlur) < 200) {
            $("#ta").focus();
            $(this).text("dsfd" + ++clickTimes);
        }
    }
);

暫無
暫無

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

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