I have a simple question. The following code works for all the tags:
$('*').click(function(e) {
alert(1);
});
But, when I try this code for the div with id "content":
$('#content').click(function(e) {
alert(1);
});
What am I doing wrong ?
click() that can be used to attach or trigger event handlers. For a complete list of shorthand methods, see the events category. Deprecated in jQuery 1.8, removed in 1.9: The name "hover" used as a shorthand for the string "mouseenter mouseleave" .
So onclick creates an attribute within the binded HTML tag, using a string which is linked to a function. Whereas . click binds the function itself to the property element.
$(this) is a jQuery wrapper around that element that enables usage of jQuery methods. jQuery calls the callback using apply() to bind this . Calling jQuery a second time (which is a mistake) on the result of $(this) returns an new jQuery object based on the same selector as the first one.
Make sure it's within a document ready tagAlternatively, try using .live
$(document).ready(function(){
$('#content').live('click', function(e) {
alert(1);
});
});
Example:
$(document).ready(function() {
$('#content').click(function(e) {
alert(1);
});
});
#content {
padding: 20px;
background: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div id="content">Hello world</div>
As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers.
$('#content').on( "click", function() {
alert(1);
});
Nothing.
$('#content').click(function(e) {
alert(1);
});
Will bind to an existing HTML element with the ID set to content
, and will show a message box on click.
#content
exists before using that codejs
<script
src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#div1").on('click', function(){
console.log("click!!!");
});
});
</script>
html
<div id="div1">div!</div>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With