Định nghĩa và sử dụng

  • .one(): Chèn một hoặc nhiều sự kiện cho một thành phần được chọn, xác định một function để chạy khi xảy ra một sự kiện.
  • Khi sử dụng .one(), function xử lý sự kiện chỉ chạy một lần duy nhất cho mỗi thành phần.

Cấu trúc

  • Đã được thêm vào từ phiên bản 1.1

.one('Sự kiện',function(){...})

$('.test').one('click',function(){
    alert('Sự kiện này chỉ hiển thị một lần.');
});
  • Đã được thêm vào từ phiên bản 1.7

.one('Sự kiện','bộ chọn',function(){...})

$('body').one('click','.test',function(){
    alert('Sự kiện này chỉ hiển thị một lần.');
});

.one('Sự kiện',function(){...})

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<style>
p {
    background: blue;
    border: 10px outset;
    float: left;
    height: 50px;
    margin: 5px;
    width: 50px;
}
</style>
<script>
$(function(){
    $('p').one('click',function(){
         $(this).css({borderStyle: "inset"});
    });
});
</script>
</head>

<body>
<p>P</p>
<p>P</p>
<p>P</p>
<p>P</p>
</body>
</html>

Hiển thị trình duyệt:

Click vào từng thành phần trên để thấy kết quả, sự kiện chỉ thực hiện được một lần cho mỗi thành phần duy nhất.

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<p>P</p>
<p>P</p>
<p>P</p>
<p>P</p>

<p>P</p>
<p style="border-style: inset;">P</p>
<p>P</p>
<p>P</p>

.one('Sự kiện','bộ chọn',function(){...})

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<script>
$(function(){
    $('body').one('click','p',function(){
         $(this).animate({fontSize:"+=1em"});
    });
});
</script>
</head>

<body>
<p>Thành phần P</p>
<div>Thành phần DIV</div>
</body>
</html>

Hiển thị trình duyệt:

Click vào "Thành phần P" để thấy kết quả.

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<p>Thành phần P</p>
<div>Thành phần DIV</div>

<p style="font-size: 2em;">Thành phần P</p>
<div>Thành phần DIV</div>