Execute Events Only Once in jQuery

To wire up a click event to a button(Submit1), it is as simple as this:

<script type="text/javascript">
$(function() {
$("#Submit1").click(function() {
alert("Alert fires each time you click this button");
});
});

</script>

The alert shows up each time you click on the button. However if you want to fire an event only once, use one() which executes the handler only once for each matched element. Here’s how:

<html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
title>Executing Events only Once in jQuery</title>
<
script src="http://code.jquery.com/jquery-latest.js"
type="text/javascript"></script>

<
script type="text/javascript">
$(function() {
$("#Submit1")
.one("click", function(event) {
alert("Alert wont fire again. Try!");
});
});
</script>
</
head>

<
body>
<
input id="Submit1" type="submit" value="submit" />
</
body>
</
html>


Will you give this article a +1 ? Thanks in advance


About The Author

Suprotim Agarwal
Suprotim Agarwal, ASP.NET Architecture MVP (Microsoft Most Valuable Professional) works as an Architect Consultant and provides consultancy on how to design and develop Web applications.

Suprotim is also the founder and primary contributor to DevCurry, DotNetCurry and SQLServerCurry. He is the Editor of a Developer Magazine called DNC Magazine. He has also written two EBooks 51 Recipes using jQuery with ASP.NET Controls. and The Absolutely Awesome jQuery CookBook

Follow him on twitter @suprotimagarwal