Có một phương pháp không tập trung jQuery?


193

Làm thế nào tôi có thể không tập trung vào một textarea hoặc đầu vào? Tôi không thể tìm thấy một $('#my-textarea').unfocus();phương pháp?


cũng không phải là hàm jQuery .focusout()hơi khác so với blur() api.jquery.com/f Focusout , trích dẫn tài liệuThis is distinct from the blur event in that it supports detecting the loss of focus on descendant elements (in other words, it supports event bubbling)
Adrien Be

Câu trả lời:


335
$('#textarea').blur()

Tài liệu tại: http://api.jquery.com/blur/


Lạ thật. Tôi đang cố làm mờ () trước khi cửa sổ mất tiêu điểm để khi tôi quay lại, vùng văn bản không được chọn theo mặc định. Có vẻ như không hoạt động :(
Alec Smart

một cái gì đó như $ ('window'). Blur (function () {$ ('# textarea'). Blur ();});
Alec thông minh

có lẽ bạn cần làm mờ vùng văn bản trên tiêu điểm cửa sổ?
Geoff

7
có thể bạn đang cố gắng liên kết sự kiện trước khi DOM được tải. Hãy thử đặt mã trong trình xử lý sẵn sàng của trang như thế này: $ (tài liệu). Đã (hàm () {$ ('# textarea'). Blur ()})

hoạt động tốt với $('#textarea').bind('blur', function() ...)cũng
Fedir RYKHTIK

10

Dựa trên câu hỏi của bạn, tôi tin rằng câu trả lời là làm thế nào để kích hoạt một vệt mờ , không chỉ (hoặc thậm chí) đặt sự kiện:

 $('#textArea').trigger('blur');

Câu trả lời này có ý nghĩa hơn với tôi. Tôi muốn biết làm thế nào để làm nổi bật hoặc làm cho đầu vào văn bản của tôi không tập trung. Tôi biết .blur () tồn tại nhưng tôi không thực sự hiểu đúng cú pháp cho cách sử dụng này. +1
Partack

7
Không có tham số, .blur()là lối tắt cho .trigger("blur") api.jquery.com/blur
andreszs

7

Đoán bạn đang tìm kiếm .focusout()


10
-1 chỉ focusoutđược kích hoạt sau khi đầu vào đã bắt đầu mất tập trung. Người hỏi muốn đặt một phần tử ở trạng thái đó, trình xử lý cuộc gọi lại sẽ giúp anh ta không có nhà phát triển tốt.mozilla.org / en
US / docs / Web / Reference / Events / f Focusout api.jquery.com/f Focusout

Tôi đã tìm kiếm phương pháp này và đây là kết quả đầu tiên của google cho "jquery select uns Focus"
máy khao khát

0

Điều này làm việc cho tôi:

// Document click blurer
$(document).on('mousedown', '*:not(input,textarea)', function() {
    try {
        var $a = $(document.activeElement).prop("disabled", true);
        setTimeout(function() {
            $a.prop("disabled", false);
        });
    } catch (ex) {}
});

0

Tôi thích cách tiếp cận sau vì nó hoạt động cho tất cả các tình huống:

$(':focus').blur();

-12

Vì vậy, bạn có thể làm điều này

$('#textarea').attr('enable',false)

Hãy thử nó và đưa ra phản hồi


11
Nó sẽ vô hiệu hóa vùng văn bản, không làm mất tập trung.
Kurotsuki
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.