JQuery :: Binding And Triggering Events On Non-DOM Objects?
Jan 28, 2011
I've noticed I can bind and trigger events on objects that are not DOM elements. However this appears to be an undocumented feature, as the docs explicitly refer to the "DOM element" when discussing things like event.currentTarget. Is it safe to depend on code like the example below working in future jQuery releases?
I have a series of images with an animation bound to mouseover and mouseleave events, and I'm trying to get my head around adding a click event that would prevent the mouseleave animation from occurring only for the image that was clicked, preserving everything else as is (until another image is clicked). I've discovered .stop() and I think I'm getting close, but some part of the logic is still escaping me.
Am I the only person who finds wildly wrong the jQuery behavior of handler invocation for native events on state-changing elements like check boxes and radio boxes?Specifically, when the user clicks a check box or a radio box, the state of the element is changed and then the handler is invoked.However, when I call"click()" on the elements, the handler is invoked *before* the element value is updated. That makes it pointlessly difficult to write handler routines that need to look at the value to know what to do.
I'd like to have a hyperlink on a page, that when clicked reveals some hidden text below the hyperlink AND at the same time opens a new browser window to a specified URL (which would have been declared in the HTML code NOT the jQuery bind code). There will be several of these 'Click here to reveal password and open site' hyperlinks on the page. Will this scenario cause a problem in the sense that if you click on one hyperlink then all of the reveals would be triggered and numerous windows would be opened?
I have a page with a div that contains other divs. In the outer div, I have links that add new divs inside. I also have a link outside the outer div that adds more of those outer divs to the page (with an inner div, and the same links to add more). This works on the div that is hard coded on the page, but when I use the link to add additional container divs the links inside there to add more inner divs does not function.
So the active tab is set in the HTML to Individual by default.The following jQuery sets the active depending on which one is clicked.
Code:
$('ul#coverTabs > li').live('click', function() { // Clickable tabs // Removes default class applied in HTML and onClick adds 'currentTab' class
[code]....
what i want to achieve is when a user clicks a tab we call the XML document. The appropriate tab name is fetched and subsequently when a user clicks on a column under that tab the appropriate level cost data is displayed on the page.
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.
I have made many forms that trigger with the onblur event on text boxes, and I want to make it posible to trigger the same events when I hit the enter key but without loosing focus (I know I can call the blur event and trigger the onblur event but I don't want to loose focus). By the way Iam using prototype.js .
I have a link that has a UL drop down. When I click off of both the link and the UL I want the drop down to disappear. Right now it only disappears after I click off of the link.
I have kind of a complicated setup, and I was hoping to bounce this off some one's head who's more experienced with JavaScript.Assuming I have the following HTML markup:
I am trying to add an event listener to the keyup event for some text inputs that I am creating dynamically. I have no problems getting it to work in Firefox, but IE just ignores them. I have created a few functions to aid in making this process work semi-cross-browser. (I develop in FF, but everyone who uses it will be using IE6.) ....
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.
Is there a way in Javascript or Jquery to return an array of all objects underneath a certain point, ie. the mouse position. Basically, I have a series of images which link to various web pages but I have a large semi transparent image positioned over the top of the other images. I want to find the href of the background image that the mouse pointer clicks over.
I am loading Jquery tab using Ajax. The loaded tab contains a button for saving data. When i Load the tab more than one , the method for save is executing(triggering) more than one.
Could anyone shed some light on why this might not be working? Nothing happens when I press either the left or right key... Well, I have put an alert screen in there that does work - the problem is that I want the a#previous_link to be followed, but nothing happens!
but I dont know how to give Panel code the name "contactPanel".. so this is where I'm stuck. how do i do this? also I have a "Open Contact Form" at the top of the page but I want to put a contact link at the very bottom and after the link is clicked i would like for the website to scroll up before the panel drops down.. is that possible?
I've spent a good while trying to solve this on my own with no luck. The .blur jquery event I'm trying to use isn't firing and I can't figure out why.My entire JS file:
I have some simple code to make a link open on page load. When the code fires it shows the alert 'clicked' but then nothing happens. The url is generated with APEX and if i click the link on the page physically the alert fires and the page redirects to the linked Url. Why isn't the click event working?
I want an action to fire ONCE on mouseenter. How do I keep the action from repeating ad nauseum?
It's a <td id="cap"> with an image. An alternate <td id="capB"> placed on top of it (via z-index) is supposed to momentarily become display:inline and show its image, then goes display:none again and the original <td id="cap"> becomes visible again until mouse goes out and re-enters.
But the problem is, my script keeps refreshing and thinks it's repeatedly a genuine mouseenter, so the whole thing triggers endlessly.
How to I stop the action's repeat unless a real "user made" mouseleave and mouseenter occurs? I've tried using .stop( ) but no matter which two boolean parameters I enter for it, it doesn't help.
My current code looks like this. This causes non-stop flashing of the alt. td element.
I built a small JavaScript file that does some HTML and CSS manipulation when you hover over any tag with a certain class. It works great when running on the same server, but if I try to use the JS as an external script, the hover event isn't triggering. Here is my external JS file code:
$(document).ready(function() { alert('i work inside'); $(".start").hover( function (e) {
I'm having trouble with a plugin system that I'm working on. It involves binding a doubleclick with two elements that have the same id. The two elements are different plugins, and load appropriately, however the dblclick binding seems to not change between elements. Here's my code(simplified):