:focus Selector trong jquery
Focus Selector sẽ chọn phần tử đang được focus. Cũng giống như những selector giả định khác(những selector bắt đầu bằng ":") bạn nên đặt trước nó một tên thẻ hoặc một selector khác, nếu không nó sẽ được hiểu là bộ chọn toàn bộ("*"), nói các khác $( ":focus" ) tương đương với $( "*:focus" ...
Focus Selector sẽ chọn phần tử đang được focus.
Cũng giống như những selector giả định khác(những selector bắt đầu bằng ":") bạn nên đặt trước nó một tên thẻ hoặc một selector khác, nếu không nó sẽ được hiểu là bộ chọn toàn bộ("*"), nói các khác $( ":focus" ) tương đương với $( "*:focus" ), do đó nếu bạn muốn tìm phần tử hiện đang được focus, $( document.activeElement ) sẽ trả về phần tử đó mà không phải tìm kiếm toàn bộ các phần tử DOM.
Cú pháp
jQuery( ":focus" )
Ví dụ
Tìm kiếm thẻ đang được focus và đổi màu nền cho chúng:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Học lập trình miễn phí tại code24h.com</title> <script src="https://code24h.com/cnd/js/jquery/jquery-3.2.1.min.js"></script> <style> .focused { background: #abcdef; } </style> </head> <body> <h1>Học lập trình miễn phí tại code24h.com</h1> <div id="content"> <input tabIndex="1"> <input tabIndex="2"> <select tabIndex="3"> <option>select menu</option> </select> <div tabIndex="4"> a div </div> </div> <button onclick="myFunction()">Click vào đây sau đó focus vào các thẻ để xem kết quả</button> <script> function myFunction(){ $( "#content" ).delegate( "*", "focus blur", function() { var elem = $( this ); setTimeout(function() { elem.toggleClass( "focused", elem.is( ":focus" ) ); }, 0 ); }); } </script> </body> </html>
Kết quả:
Tham khảo: jquery.com
Các loại api khác
- jQuery Selector
- jQuery Events
Nguồn: code24h.com