JQuery :: Best Way To Bind Events To Multiple Elements?
Jul 5, 2011
Im working on a ajax app and not sure what is the best way to bind events to elements (performance wise).I have a number of elements with 'click', 'focus', 'keydown' events which can be assigned though the delegate to the parent, like so:$('#parent').delegate('#child', 'click', func.....)but is it better to add a delegate to the 'document' for multiple events and use IF statement to filter for elements which should fire an event, like so:[code]Each element can be replaced with an updated version retrieved from the server.
View 2 Replies
ADVERTISEMENT
Nov 27, 2010
It looks like when I do $("object").bind("<mouse-event>") the event isn't actually being bound to the element in Chrome and Firefox (not sure about IE). Using $("object").each(function()
[Code]...
View 1 Replies
View Related
May 10, 2010
Internet Explorer can't bind events to absolute positioned elements ? can't bind a "click" to an element that is overlapping another.Have tried loads of different ways, here are 5 of them:
version 1:
$(".classHolder").click(function(){ alert( $(this).html() ); });
version 2:
[code]....
View 3 Replies
View Related
Mar 1, 2010
Following code works.
$('#container a').bind('click', function(e){
log( $(this).text() + ' clicked1');
return false;
});
[Code].....
View 2 Replies
View Related
Jul 25, 2009
On my site, I have some click-able spans (will be referred to as toggle spans) that show or hide other spans (that contain the content I want on my site; will be referred to as content spans). The layout of these spans is like this:
[Code]...
View 5 Replies
View Related
Jul 4, 2009
I haven't seen much mention of this on the web, and only recently discovered it works.... not sure if this is somehow bad practice or just a lesser known trick, but lately I've been chaining .ready() at the end of .html() when I want to bind events to new ajax data. I presume it's much more efficient than live(), and avoids racing issues. E.G.:
$.ajax({
type: 'POST',
url: 'myPage.html',
success: function(c){
$(".response").html(c).ready(function() {
bindNewEvent(".response a");
});
});
function bindNewEvent(o) {
$(o).click(funciton() { ...etc... });
};
There's infinite docs about using .ready() to process the document, but not returning HTML. Passing the above along should anyone find it useful or have insight onto why it's seemingly not mentioned elsewhere.
View 3 Replies
View Related
Jul 21, 2010
I am trying to "ajaxify" my site. Now I have one problem:
$("#posts").children().remove();
$("#tag-sidebar").children().remove();
$.each(data.Tags_Sidebar, function (indexInArray, valueOfElement) {
var insert = $("<li>");
[Code]......
Now when I click one of those links (href1, href2, href3) generated, the click event won't execute! What's the problem? Also, is it right that I have to transfer the valueOfElement over, like I did? What does stopEventPropagation do? Prevent the href from being navigated to? That's what I am trying to do.
The data object is JSON fed from here:[URL]
The HTML is here: [URL]
View 2 Replies
View Related
Mar 5, 2010
in the language menu shown below, I would like to show the "current_menu" whenit's not visible and clicking on the "current_page" element, and to hide it whenclicking everywhere except in the "current_menu" element.I tried with the "not" selector:
$(":not(#current_menu)").bind('mousedown',function(event) {
$("#current_menu").hide();
event.stopPropagation();
[code]....
View 2 Replies
View Related
Aug 10, 2009
which is the recommended way to bind event handlers to elements. Preferably without giving each of them an id. As far as I know, the "classic" way (<input onchange="...">) is considered deprecated and evil. So what is the jQuery way of doing this?
View 2 Replies
View Related
Sep 14, 2010
To make it simpler, i've got a div that I populate with buttons (via AJAX), each button has an ID of some table row. It looks like this:
<div id="mydiv">
</div>
and buttons are defined like this:
<input type="button" id="1" do_something="1" />
Now what happens - when page loads, I'm inserting buttons in that div with "id" attribute changed depending on some row within the database table.
[Code]...
it all works fine. Now, when I add another entry in the database and when I dynamically append yet another button - even tho it has the attribute "do_something" - the click action on it does nothing. I know how to get around this "problem" by adding bind action after I've inserted that button but it's literally duplicating my work. Is there way around this so that every newly inserted element has the action "click" bound to it if it fits the selector?
View 3 Replies
View Related
Jan 19, 2010
I am in the process of porting an application i have been building for a couple of years to jQuery from jquery/prototypejs&scriptaculous.
Reading the new documentation i see that bind can take multiple observers (for example)
$(
"div.test"
)
.bind
(
[Code].....
Is this also true with "live" ( i am adding alot of dynamic elements to a page that have tooltips attached to them and have written a simple tooltip plugin that uses live to stop me constantly needing to call the plugin everytime somehting on the page changes to do with the tooltip..
View 2 Replies
View Related
Sep 14, 2009
I have 2 or more objects that onclick(), will call the same function. Right now I have the following:
....
$("#obj1").change( function() {
setupPage();
});
$("#obj2").change( function() {
[Code].....
I was wondering if there is a way to simplify or clean up the code, since they are all doing the same thing and responding to the same event. This is just for refactoring reasons because my code is getting too long/messy.
View 2 Replies
View Related
Jun 10, 2009
I use the live - method to bind a handler to a click-event for all links with class "userDiv"
When I DON'T use this and use instead the "normal" click handler
I can still use the middle Mouse-Button in Firefox to open the link in a new tab without any jquery-stuff
But when I use the live-method (and it would be nice to use it) the middle Mouse-Button behaves like the left one.
View 2 Replies
View Related
Nov 11, 2011
I'm trying to load some html content into a page via the ajax .load() method (wrapped within the $(document).ready() function).After I execute this, I'd like to bind all new span elements from the loaded content to a context menu plugin like this:
$("#selector").contextMenu({
menu: ''myMenu''
},
[code]....
Unfortunately since the span elements are coming from the ajax request,I don't think I can bind a normal event handler as per the plugin. [URL] how to use event bubbling in this situation.
View 3 Replies
View Related
Feb 5, 2011
I'm trying to add a <div> element with an event class="but"like the below mentiond:
$("body").append("<div><div id="effect3"><h3>Toggle3</h3></div><a href="#" id="button3">Run Effect</a></div>");
$("#button3").addClass("but");
[code]....
View 4 Replies
View Related
Oct 7, 2010
I define a "click" event on "a" tags in the ready part of a page. It fires just fine when I click on any "a" tag on the page. I then have a button which sets the content of a div using ajax. This content contains a couple of "a" tags. The issue now is that the "click" event does NOT fire when clicking on these tags. I suspect it is because they did not exist when the page was initially rendered. What is the "JQuery way" of dealing with an issue like this? Of course I cannot be the only one in the world who needs to return HTML with events from my ajax calls :-)
View 2 Replies
View Related
Sep 16, 2010
I have a dropdown which is created on the fly and it contains several options like below.
<option>A</option>
<option>B</option>
<option>C</option>
<option>C</option>
while creating this i am attaching the change event using live() function. On changing the above option i am recreating the above dropdown again. This dropdown in under a div .For eg:it has an id=1. During the time of recreating the above dropdown,i am dettaching the event handlers using die() and after that i remove the div with id=1.Again i will create a div with id=1 and a dropdown.
The problem now is that when i try to change the option two change events are triggered.I think the die() method haven't worked. Is it because i have created the dropdown under the div with same id?
View 2 Replies
View Related
Sep 27, 2010
I am using jquery with the cookie plugin and I have multiple image buttons that can hide/show multiple elements. My question is how can I add a cookie to this code to remember whether each separate element is opened or closed?
The code,
$(document).ready(function() {
// choose text for the show/hide link - can contain HTML (e.g. an image)
var showText='<div class="expanddown"></div>';
var hideText='<div class="expandup"></div>';
// initialise the visibility check
var is_visible = false;
// append show/hide links to the element directly preceding the element with a class of "toggle"
$('.toggle').prev().append('<a href="#" class="togglelink">'+hideText+'</a>');
// capture clicks on the toggle links
$('a.togglelink').click(function() {
// switch visibility
is_visible = !is_visible;
// change the link depending on whether the element is shown or hidden
$(this).html( (!is_visible) ? hideText : showText);
// toggle the display - uncomment the next line for a basic "accordion" style
//$('.toggle').hide();$('a.toggleLink').html(showText);
$(this).parent().next('.toggle').slideToggle('fast');
// return false so any link destination is not followed
return false;
});
});
HTML,
<a class="togglelink" href="#"></a>
<div class="toggle">
Content
</div>
View 6 Replies
View Related
Jun 2, 2010
I have an div element (lets call it div number 1) that I have attached a click event to using jquery.bind() method. That works fine. I then have another div element (div number 2) that is absolute positioned on top of div 1. Now div number 2 also has a click event binded to it, which works... the problem is when I click div 2 and the click event triggers, so does the click event from div 1... I don't want the click event from div 1 to fire.
View 3 Replies
View Related
Jun 18, 2009
Is is possible to trigger multiple events in succession? each depending on the previous?
View 2 Replies
View Related
Feb 24, 2010
Using $.get() and insertBefore() work great for what I'm doing. But, the data I insert does not respond to events that I have set up. I'm notsurprised by this. I'm sure there is something extra I need to do. But, what is that?
View 4 Replies
View Related
Dec 15, 2011
I've been reading forum posts (not just on this site) and unsuccessfully trying to apply the examples to what I'm doing for hours now. Can anyone help me do this correctly?
I need the browser window's resize event to trigger resizes on different objects on my page. The objects are added dynamically, so I can't just have one function to set it all up at the beginning, although so far that's the only way I know how to do it. I understand that using this method (below), that there can be only one such statement, but I need to add new functions to the resize event as I add new items to my page.
window.onresize = function(event) {
$('#main-tab-bar').tabs('resize'); //resize something
$('.aportal').portal('resize'); //resize something else
}
What is a cross-browser method for attaching multiple functions (like the two above) to the browser window resize event, where they aren't both done at the same time (like above)?
View 1 Replies
View Related
Jun 23, 2009
I use datepicker UI. Is it possible to be selected multiple events, dates taken from a mysql with PHP?
View 1 Replies
View Related
Jan 20, 2010
$(document).ready(function(){
Here is the application for this javascript.
When the.slide-button-one(top 'Profile', 'Clients' or 'Contact' links) is clicked,#main-content-portfolio (white-background div) slides down and the display is set to none. This reveals#main-content-info (grey-background div).
Currently however, the display value of #main-content-portfolio is set to none BEFORE the slide. How can I switch this order of events?
View 5 Replies
View Related
Jul 26, 2010
In the examples for live() and delegate(), the selectors match at least one element that already exists. Will either of these commands work on elements for which there is no match at all on page load?
In my case, I want to bind a keyup event to the textareas that jeditable creates. I could probably create custom plug-in (to the plug-in :) to do the job, but I'd like to use live or delegate if they would work.
View 2 Replies
View Related
Nov 4, 2010
is there a way in jQuery to bind variables to function calls similar as prototype.js does it? See [URL]
E.g. in the slideUp method of jQuery you can specify a callback that is called after the effect has finished. I would like to bind a variable to this call so that it is used inside of this callback as a closure.
View 2 Replies
View Related