1回だけイベントを実行する

書式

$(〜).on(eventType, sendData, func)

eventType : イベント名
sendData : イベントハンドラに渡すデータ【省略可能】
func : イベント発生時に行う処理

説明

1回だけイベントを実行するには$()で指定した対象に対してone()を使います。最初のパラメータにイベント名を指定します。クリックであればclick、マウスオーバーであればmouseoverの文字を指定します。2番目のパラメータはイベントが発生した際に呼び出される関数に渡すデータになります。データはオブジェクトのdataプロパティで参照することができます。また、このパラメータは省略することができます。3番目のパラメータはイベントが発生した場合に処理する関数を指定します。

サンプルコード [実行]

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Sample</title>
<link rel="stylesheet" href="main.css" type="text/css" media="all">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript"><!--
$(function(){
$("#box1").one("click", "BOX1", function(evt){
alert(evt.data+"がクリックされました。もう二度とクリックできません");
});
$("#box2").one("click", function(evt){
alert("box2がクリックされました。もう二度とクリックできません");
});
});
// --></script>
</head>
<body>
<h1>一回だけイベントを実行する</h1>
<div id="box1">ここをクリックしてください</div>
<div id="box2">ここをクリックしてください</div>
</body>
</html>