[Функция] one(type,data,fn)
Раздел "Events"
Связать обработчик с одним или несколькими событием(ями) чтобы быть выполненным(и) один раз для каждого соответствующего элемента.
type:тип события
data:дополнительные данные, переданные обработчику как event.data
fn:функция обработчик события для любого элемента
function (eventObject) {
this; // элемент
}
Обработчик выполняется единожды для каждого элемента. Иной способ, иные правила описаны при использовании bind(). Обработчик события перехватывает объект события, для которого вы можете предотвратить выполнения действия по умолчанию. Для прекращения выполнения действий по умолчанию и всплывания события, ваш обработчик должен возвратить false. В большинстве случаев, вы можете назвать ваш обработчик как анонимную функцию (1 пример). В случае если это невозможно, вы можете передать дополнительные данные во втором параметре (и обработчик функцию в третьем).
Допустимые события: blur, focus, load, resize, scroll, unload, beforeunload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error.
Пример:
Связать одиночный клик с каждым div элементом.
"jQuery"
var n = 0;
$("div").one("click", function(){
var index = $("div").index(this);
$(this).css({ borderStyle:"inset",
cursor:"auto" });
$("p").text("Div at index #" + index + " clicked." +
" That's " + ++n + " total clicks.");
});
"HTML"
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<p>Click a green square...</p>
"CSS"
div { width:60px; height:60px; margin:5px; float:left;
background:green; border:10px outset;
cursor:pointer; }
p { color:red; margin:0; clear:left; }
"Живой пример jQuery"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link href="http://test-drupal.ru/themes/slyweb/css/jqueryiframe.css"
rel="stylesheet" type="text/css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
var n = 0;
$("div").one("click", function(){
var index = $("div").index(this);
$(this).css({ borderStyle:"inset",
cursor:"auto" });
$("p").text("Div at index #" + index + " clicked." +
" That's " + ++n + " total clicks.");
});
});
</script>
</head>
<body class="iframe">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<p>Click a green square...</p>
</body>
</html>
<style>
div { width:60px; height:60px; margin:5px; float:left;
background:green; border:10px outset;
cursor:pointer; }
p { color:red; margin:0; clear:left; }
</style>
Пример:
Отображение текста каждого параграфа в диалоговом окне один раз по событию onclick:
"jQuery"
$("p").one("click", function(){
alert( $(this).text() );
});
Версия jQuery 1.4.2
Документ создан 2010-08-21