pardon my ignorance if this topic has been discussed before - I couldn't construct a search query that returned anything of the like!
Currently I have a set of two div elements, both of which span the width and height of the window. The top div plays host to a user interface, and the bottom div to various editable elements. The problem here lies in the fact that the user interface div is intercepting all mouse events, and as such neither the lower div nor any of its children may be interacted with.
And so my question is just that: is there any way to pass events through an element, or, more specifically, transparent sections of div elements? I have considered simply triggering the same event on the lower div, but without the ability to pass offset coordinates to the .trigger() function, it would require a rather undesirable amount of code to calculate which element on the lower div to trigger the even on...
My other consideration is to minimize the dimensions of the user interface layer (something similar to 50 x 50 px) and use absolute positioning to position the user interface widgets, additionally using a div element below the bottom div to constrain the movement and resizing of user interface widgets.
I have a script that's dimming the page by appending a black transparent canvas element to the body, positioning it over the page with a high z-index, and then using clearRect to cut out the sections of canvas element so that certain sections of the actual site show through..I'm having a hard time figuring out the best way to pass a click through the canvas and onto whatever would accept it if the canvas wasn't in the way so a user can edit the text.
My first choice was hiding the canvas on mousedown, and then listening for mouseup for everything underneath. but it looks terrible to have that 200ms flicker. can a trigger() be used to emulate a click at a certain (pageX,pageY)? the last option i can think of would be adding 30 divs and duplicate the punched-out canvas..but that seems like a lot of math, does anyone know of a plugin that does this? a reverse blockUI
I'm using the Microsoft Virtual Earth Version 1 Commercial Control. I want to make it so you can click on a pinpoint that's plotted on the map and all mouse events are passed to the map so that the user can click anywhere on the map (including the pin points) and drag/zoom the map around.
For those of you who haven't used Virtual Earth: Basically, there are a bunch on absolutely positioned Div elements. I basically want to pass all mouse events from one absolutely positioned div element to the absolutely positioned div element directly beneath it.
I wonder if I can see somewhere what events are binded to a DOM element (in FireBug maybe). Maybe it's obvious, but I just don't know yet if it's even possible.
Is there any way in jQuery to move the order of events on a dom element. I have an element (the add button on a jQGrid display) that I want to place a click event in front of the one one put in by jQGrid. I had a look at the jquery.eventmanager plugin but that doesn't really allow the kind of manipulation I want. I also found it didn't like handling the click event anyway.
I'm thinking something along the lines of;
var saved = $(ele).getEvent('click'); //this function doesn't exist yet $(ele).unbind('click').bind('click.new',my_new_func).bind('click.old',saved);
I'm trying to hide() show() an element when a specific checkbox is checked, the checkbox is nested within an asp Panel which is nested within a Web User Control.When the user control is loaded, the checkbox's id changes to the panel id + the checkbox id due to the face that i have an unknown number of user controls that can be added to the same aspx page.I need a way to hide a textbox when the checkbox is checked without using the '#controlId' syntax, and when i pass the txt.id its not working:
toggleMe: function toggleTest(ID) { var elem = document.getElementById(ID); var parentId = $(elem).parent().parent().parent().parent().attr("id");
I am working on a mini select manipulation, moving options back and fourth, etc.
What are some of the considerations between passing just the ID names of the two selects from the button that triggers the add/remove versus passing the selects?
If a div is positioned block or relative, events fire over the entire area of the div. If the div is positioned absolute they don't--they only fire over the div's text or image child elements, if any. This isn't true in FF or Opera, nor was it true in IE 5. If there is any logic in this behavior.
So, I read about the new method of passing an object map containing element properties when creating a new jQuery object (as discussed at the bottom of this article). The article says that it supports ALL events, but only gives examples of simple events that require no parameters. I'm trying to implement a live event using the following and can't get it to work:
var link = $('<a />', { text: config.appendTextMore, href: "#",
I'm trying to figure out a way to make only one element on a page receive key and mouse events. I have a grid in a <div>-container with "overflow:auto" which makes the grid scrollable. If course I can set event handlers to the "document" to catch key strokes and mouse clicks and execute navigation functions which make the grid scroll (e.g. pressing down arrow) etc. This of course effects the whole page and not just the div.
The problem is: as far as I know only window and form elements can receive events such as focus(), blur(), keypress() etc. and I have to make sure only this one element is affected.
Is there thus a way to make these events affect only the <div> container?
The best way to do this would be with an event listener as this would make development much easier.
I have a small problem with a page I'm working on. I have an anchor tag inside a table that has a mouseover event that updates a contextual help box. I need to add a similar mouseover event to the anchor tag that does the same thing, but updates the help box with different text. The problem I have is that when the mouse is over the table, no matter if I move the mouse over the anchor, the help text only displays the message that is passed from the table's mouseover function call. I think the solution *may* be something to do with event bubbling, but I'm not exactly sure how to implement it. The code I'm dealing with is below:
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.
I have a TD element, with a SPAN element inside. I use td-s onmouseover and onmouseout events for a small animation. My problem is, that, when I move the cursor over the SPAN element, the onmouseout event for TD element is fired. I want to prevent this. With other words, I want onmouseout fired, just when the cursor is moved outside the td area. See the code..
I have a loop that iterates over an array of objects.
Then for each of these objects, a div element containing an img element is created and appended to the document.
Further each img element must have an onclick event that basically changes the backgroundColor of it's enclosing div, as well as make changes to the associated object in the array.
The loops basically looks like this:
Code:
Now everything is created fine and the events are bound to the images, however, the only things that change in any of the onclick events are the very last container and object passed. For some reason it seems that the references in all the previous loops are replaced with the newer ones.
If I have something like this:html4strict Code: I'd get an error. Is there anyway I can make this work so that if I pass a value through as a parameter, I can use it when referencing a particular field?
I need to create a table where each element has certain specific properties.
For example, elements in the first column should always have a range of 0-100, and increment by 1. Elements in column 2 might have a range of 0-360, and increment by 0.1. Altogether there might be 8 elements in each row.
Since this is basically the same javascript function over and over, I wonder if there is a way to create some <input> element that might contain this knowledge in a way that javascript can access it.
where the javascript function could retrieve the class value?
Since this is going to be fairly complex, I'd like to make it fairly self-documenting and simple. It's much easier for a maintainer to understand class="precent" than "javascript:blah(0,100,1,event)", especially since I am also going to have to pass navigation information (is this a border element in the table? what are my neighbors? kind of information... - so that the actual information might end up being javascript:blah(0,100,1,5,21,16,18,0,1,0,0,event) to denote the data type, the 4 neighbors, and the 4 border conditions....
When introducing custom functionality to HTML elements we either use existing attributes to pass configuration parameters (like beetle's fValidate (http://www.peterbailey.net/fValidate/)) or invent our own (like my Tooltips (http://www.vladdy.net/webdesign/ToolTips.html)). While this method is ok for small amount of configuration information, it is not that flexible (you need to edit DTD) and becomes combersome when large amount of configuration parameters is needed.
I figured a more convinient way is to use a CSS like string to pass configuration parameters: <div myextension="parameter1: value1; parameter2-subparameter1: value2.1; parameter2-subparameter2: value2.2"> </div>
Then initialization routine would contain: if(myExtensionParameters = divElement.getAttribute('myExtension')) divElement.myExtension = new myExtensionObject(divElement,myExtensionParameters);
Definition of possible parameters and their values can be done using an array of regular expressions: myExtensionParamDefenitions = new Array(); myExtensionParamDefenitions['choiceparameter'] = /^s*(value1a|value1b|value1c)s*$/; myExtensionParamDefenitions['stringparameter'] = /^s*(w+)s*$/; myExtensionParamDefenitions['integerparameter'] = /^s*(d+)s*$/;
Constructor for the myExtensionObject would containd a parseParameters function: function myExtensionObject(divElement,myExtensionParameters) { this.params=new Array(); parseParameters(this.params,myExtensionParamDefenitions,myExtensionParameters); //Verify parameter initialization, if you like str='' for(e in this.params) str+= e + ': ' + this.params[e] + ' ' alert(str); //Do whatever you have to do... }
Function parseParameters has the following code: function parseParameters(object,definitions,parameters) { paramEntries = parameters.split(''); for(var i=0; i<paramEntries.length; i++) { paramEntry = paramEntries[i].split(':'); if(paramEntry.length == 2) { paramName = paramEntry[0].replace(/^s*([w-]+)s*$/,'$1'); if(definitions[paramName]) { res = definitions[paramName].exec(paramEntry[1]); if(res[1]) object[convertCSSName(paramName)] = res[1]; } } } }
Where convertCSSName function converts CSS type name (background-image) to javascript name (backgroundImage) function convertCSSName(cssName) { sn = cssName.split('-'); rs = sn[0]; for(var i=1; i<sn.length; i++) rs += sn[i].replace(/^(w)(w*)$/,function(str,p1,p2,offset,s){return p1.toUpperCase() + p2;}) return rs; }
As a result you have params array of myExtensionObject object populated with validated entries. Changes and expansion is done by simply editing myExtensionParamDefenitions array.
PS: The functions are coded more for clarity rather than for brevity - I'm certain there are ways to improve the implementation.
I'm trying to develop a function to resize a control upon window resize. In regular javascript I would make a global array of control names and append code to the event that cycles through and resizes each control.For example
var proportionalizedImages=new Array(); proportionalizedImages.push(document.getElementById(ctrl)); if (window.addEventListener)[code]....
I'm wondering if there's a more elegant way to do this in jQuery. I've played around with it a bit, but i'm unsure how to get the control object to the resize function triggered by window resize without a global variable.
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.
I've got 2 pages: a current events page and a past events page the current events page loads fine as there is only about 10 events the past events page takes about 30 seconds to load and will crash if u click your mouse in the loading time.
The pages are near identical the only difference is the query that selects the events (> versus <)
The page loads immediately without:
But when i put it back in the above happens. I'm using jQuery.roundedcorners.
i have a menu generated by a list with nested lists. i want the parent link to stay highlighted when the mouse hovers over the sub menus. because those sub menus are also generated by jquery (qtip), CSS alone won't do it (triedul.topnav li:hover a {background-color: #F00;}).is there a way to do this using jquery?
It's working great but sometimes myTitle and myLink contain the plus character (+). When this happens it's not passed. In the case of the title, it's just a problem of looks but in the case of the link, well, the link won't work without the character.
As an example if the title is: Laptop + Accessories What is passed is: Laptop Accessories
I'm having some problems understanding the append() function. What I'd like to do is select an element using it's ID and add a row to the table with a HTML form element. The table is dynamically generated using a Django template ( form.as_table() ) so I'm not able to alter the original HTML markup too much.
I have created a form with malsup's Form Plugin wherein it submits on change of the inputs. I have set up my jQuery script to index drop down menus and visible inputs, and uses that index to determine whether keydown of tab should move focus to the next element or the first element, and likewise with shift+tab keydown. However, instead of moving focus to the first element from the last element on tab keydown like I would like it to, it moves focus to the second element. How can I change it to cycle focus to the actual first and last elements? Here is a live link to my form: [URL]. Here is my script:
$(document).ready(function() { var options = { target: '#c_main', success: setFocus