Multiple AttachEvent On Document?
Oct 26, 2006
Does anyone know of a way to attach multiple events to the document element?
I have a class that when initiated attaches events to the element it effects but also attaches an event to the document element.
If my class is declared more then once, only one of the classes will be effected by the event (on the document element) where as I need both.
this.addEvent = function(obj, type, fn )
{
if(obj.attachEvent)
{
obj['e'+type+fn] = fn;
obj[type+fn] = function()
{
obj['e'+type+fn]( window.event );
}
obj.attachEvent( 'on'+type, obj[type+fn] );
}
else
obj.addEventListener( type, fn, false );
}
I presume it works fine on Firefox because addEventListening allows multiple assignments where as attachEvent doesn't.
View 4 Replies
ADVERTISEMENT
Nov 16, 2006
Today I have been testing the event models from Netscape 4.8 and IE 4
to the current crop of browsers. I'd like to write a small event
library similar in purpose to the Yahoo! UI event library but with less
features and code. The Yahoo! event library is one of the best
libraries in YUI but it still seems to me to have some confused
code...that or I'm still confused.
The Yahoo! UI library focuses on using addEventListener and
attachEvent. However, due to the click and dblclick bugs in Safari a
long legacy event workaround is included to use a Netscape4-type event
model for Safari. Something like this
var listeners = [function(event){}, function(event){}];
document.getElementById('blue').onmouseover = function(event) {
for (var i=0; i<listeners.length; i++) {
listeners[i](event);
}
};
With this above example, multiple handler functions can be fired for a
single event. I imagine that this is an old trick that has been around
for a long time, yes?
With all the new browsers I tested with this legacy workaround, the
listener handlers can use event.stopPropogation() or
event.cancelBubble=true and they work as desired. The handler functions
can also use event.preventDefault() and event.returnValue=false and
they too work. These seem to work because the event object passed to
the handlers is a modern event object and not one from Netscape4.
My question is, if Safari needs this legacy workaround, and the legacy
workaround seems to work in all the browsers that have addEventListener
or attachEvent, then why bother with the addEventListener and
attachEvent functions at all? Why not just use the legacy way for all
browsers and all type of events.?
View 10 Replies
View Related
Apr 27, 2007
if i use AttachEvent like this,it can't work;
eg:
var img = document.createElement("img");
img.attachEvent("onclick",alert("test"));
var div = document.createElement("div");
div.appendChild(img); //can't work;
div.innerHTML="<-click this";
but i use attachEvent like this,it work; eg:
var img = document.createElement("img");
img.attachEvent("onclick",alert("test"));
var text = document.createElement("span");
text.innerHTML="<-click this";
var div = documet.createElement("div");
div.appendChild(img); //can work
div.appendChild(text);
View 6 Replies
View Related
Jan 24, 2007
I am trying to write a loop that will add 10 divs to the screen. Each
div will have an onclick event. The function that will be called
onclick requires a parameter. That parameter is dynamic based on the
index of the loop. In Firefox this is no problem. However in IE I get
some results that I wouldn't expect.
Here is my code:
for(var i = 0; i < 10; i++)
{
var linename = jsonObj.lines[i].line;
var childcountid = jsonObj.lines[i].childcount;
var lineid = jsonObj.lines[i].lineid;
var newdiv = document.createElement('div');
newdiv.setAttribute("id","main" + i);
if (navigator.appName == "Microsoft Internet Explorer")
{
//************ this is the problem area
*****************
newspan.attachEvent("onclick", function() {getCategories('main' +
i)});
}
else
{
newspan.setAttribute("onclick", "getCategories('main" + i + "')");
}
document.getElementById('container').appendChild(n ewdiv);
}
What happens is when the element is clicked the parameter being passed
to getCategories is always 'main9' IE always grabs the current value
of i, not the value of i at the stage of the loop that attachEvent was
called.....
View 1 Replies
View Related
Aug 28, 2007
I need to check if attachEvent was done to an element. The problem is that attachEvent does not save this information anywhere.
View 12 Replies
View Related
Mar 17, 2003
As I understand it so far:
element.attachEvent()
IE 5+ for PC
element.addEventListener()
Gecko, KHTML
element.event
NS3+, IE4+, dunno about opera or others
Since I'm only concerned with attaching a single event and don't care about bubbling/capturing, am I best off not using the old style of event registering to assure maxium compatibility?
View 2 Replies
View Related
Sep 8, 2010
The event added to the flash object (videoPlayer) or to its container (player) responds as expected in all browsers except ie. I trtied everything I could possibly think of and still can't get it work in ie. The only event that works in ie is "onactivate".
[Code]...
View 1 Replies
View Related
Dec 19, 2009
I'm just trying to register a simple click event onto a input element with addEventListener and attachEvent... My code:
[Code]...
View 2 Replies
View Related
Oct 4, 2011
I have a cross domain iframe resizing script (using postMessage) that works perfectly in Chrome, FF, Safari and IE9 - browsers that use addEventListener I'm trying to get it to work in IE8 by adding what I thought was the right language for attachEvent, but it's not working in IE8 - I just get 'Object doesn't support this property or method' - again just in IE8.
[Code]...
View 2 Replies
View Related
Feb 23, 2010
I'm having trouble using jquery with Rails. I know there are a few plug-in solutions but I am more designer than developer and the rest of my team isn't excited about changing to a new plug-in midstream.I want to be able to write my jquery and be able to have the least impact on existing code. This means that I have to use the noconflict method. Originally I was trying to use Rails to write all my jQuery into one document ready statement but I recently found out you can have more than oneNow my problem is that my jQuery variable isn't always ready byt the time my document ready function runs. For example:
var $j = {};
$j = jQuery.noConflict(true);
$j(document).ready(function(){
[code].....
View 1 Replies
View Related
Sep 14, 2011
I copy pasted some code that hides list headings on sharepoint2007 web page.As im new to jQuery I just made 3 copies of the script.But I suspect there is a beter way to code this?Maybe put all scripts in one block. Or maybe it realy does not mater?
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript"> $(document).ready(function(){ $("table[summary='abc'] tr:eq(0)").hide() }); </script>
<script type="text/javascript"> $(document).ready(function(){ $("table[summary='xyz'] tr:eq(0)").hide() }); </script>
<script type="text/javascript"> $(document).ready(function(){ $("table[summary='123'] tr:eq(0)").hide() }); </script>
View 2 Replies
View Related
Nov 2, 2011
I'm developing an asp.net MVC app, and decided to take advantage of JQuery's great datepicker using the following code in my master page:
[Code]...
My problem is that the alert block of code never fires. When I change it to occur before the datepicker code, the alert fires but the datepicker part won't work. What am I doing wrong here?
View 4 Replies
View Related
Jan 13, 2009
A page I'm working on lets users open a new window, which in turn lets them send data back to the parent page to create new table rows, cells, links, etc. One of the links created is "delete", so it should delete the row that the delete link belongs to when clicked on. I can do this no problem in ff using the setAttribute('onclick',onClickEvent), but can't do this in IE. I'll show some code to make this easier to understand....
[Code]....
View 3 Replies
View Related
May 29, 2009
I know that you can have more than on document ready event without difficulty. i.e.
$(function(){
// document ready 1
});[code]....
The question I have is, is there any way for them to call functions from one to the other? The following does not work:
$(function(){
function displayMessage(){ alert('hello world'); };
});
$(function(){
displayMessage();
});
This invokes a js error complaining that displayMessage() is not defined.
View 12 Replies
View Related
Apr 11, 2009
why the following code refuses to do anything.
[Code]...
I get the error "sfHover isn't defined". What am I doing wrong? The purpose of the code would be to add a :hover (here: .sfHover) css pseudo-class on the mouseover event, to work in IE.
View 2 Replies
View Related
Sep 6, 2009
Suppose a HTML document has a iframe. Using javascript,I want to detect ,on load of the html document, whether the body of the iframe document is ready to be displayed.I want to be able to overwrite the the body contents (before it actullay loads) of the iframe.can I do it with jquery? say if ,HTML doc is
Code:
<html><head></head><body><iframe id="ifrmId" src="http://www.google.com" ></iframe></body></html>
View 1 Replies
View Related
Feb 9, 2010
i want to save my html document as an microsoft word document will
View 14 Replies
View Related
Mar 17, 2007
Normally an SVG document is loaded/parsed/interpreted inside an HTML
document using an 'object' (or 'embed') element, although there are
supposedly other ways too. The problem is, the SVG document must be
static this way.
I want to use the DOM interface to build SVG dynamically inside an HTML
document. I am guessing I can build it inside HTML within an 'object' (or
maybe 'iframe'?) element.
My intentions/goals:
In Javascript, I construct an object 'embedSVG' which has properties and
methods for creating valid SVG elements and setting their attributes and
attribute values.
During construction, the SVG document is created with its root element.
During debugging in FF 2.0 (I'll work on an MSIE-compatible format later),
I am using the Mozilla DOM Inspector and comparing nodes when the
'object' element is loading a valid external SVG document, and when I am
appending the child representing the SVG document created by the DOM
functions.
However the child node (#document) does not specify 'svg' as the root
element, but instead 'HTML'. Something is not working.
Here is the relevant code in 'ScriptTest.html' which is the HTML in which
the SVG is supposed to be embedded. Below it is the relevant code for
'svglib.js' which is supposed to contain code for building the SVG
dynamically.
What this code is supposed to do is load the HTML page and execute the
anonymous script, and draw a navy blue-bordered yellow rectangle on a
blank page. This is similar to the example in the SVG 1.1 W3C
Recommendation on page 202 of the 719-page PDF.
I am getting an exception when embedSVG object placeInHTML() method is
called: NS_ERROR_DOM_HIERARCHY_REQUEST_ERR. I find in DOM Inspector in
spite of or after the exception that a document is placed as a child of
the object element, but it is HTML, with a default 'head', 'title',
'body' elements placed.
Where am I blowing it?
View 3 Replies
View Related
Jul 24, 2001
Determine what the previous page was that the user was viewing, even if the user arrived at my site by through the use of a browser function (history, location bar, refresh, etc.). Is this possible?
I'm not wuite sure how document.history functions - what degree of privacy is given to the user and to what extent can web pages get URLs from the user's history?
View 2 Replies
View Related
Dec 6, 2010
I am trying to make a function run if the mouse is moved over the document but when using the object onmousemove it seems to run the code even if the mouse is still over then document, how can I make it so if the mouse is over the document but isn't moving then don't run the code but once the mouse moves run the code? This is the code I made to handle the mouse move collections.
[Code]..
But with this code it runs even when the user doesn't move their mouse and the notification box pops up every second as the code seems to think a still mouse is a moving mouse.
I was thinking about having a run once system but that would mean if the mouse moves it runs once and then if the mouse moves again the code will not run as it has already ran before.
View 5 Replies
View Related
Oct 26, 2007
I want to switch a big function from a document.onkeydown = function to a document.onkeypress = function, or vice versa depeding on the type of browser.
However it is quite a big function so it's pretty much out of the question to have it appear in full twice.
Any ideas how to change the target event (onkeydown/onkeypress) without writing the whole function twice?
View 8 Replies
View Related
Apr 22, 2006
I am working on creating a document where you check a bunch of checkboxes to select what to include, then click on a button. A function then opens a new window and writes the HTML code to run scripts in .js files to populate the page. Code:
View 4 Replies
View Related
Jun 5, 2006
I have been searching for a way to trap changes done to the document object (mainly by the function document.write();).
Example of code that doesn't work:
function myFunction() {
ed.document.onchange = doFunction(document.body.innerHTML);
ed.document.open();
ed.document.write('Hello');
ed.document.close();
}
function do_function(body) {
alert(body);
}
It only fires when the page loads, not when I change the text. You are free to use any event that works, but i think onchange was the one to fit this problem. The alert will write the initialpage, but will never write the tekst 'Hello' that is the new change.
Any javagurus out there know a solution to pick up any fired events triggered by document.write();
View 6 Replies
View Related
Jul 16, 2010
I am trying to write a bunch of text onto a new document using document.write() and somehow need to format it to include line breaks.
For example:
Code JavaScript:
document.write(Line 1);
document.write(Line 2);
I have tried including and it does not work. I have also tried document.writeln() and that also does not work. From what I have found on the Internet, one (if not both) of those methods should have worked.
View 3 Replies
View Related
Mar 2, 2011
I have created a servlet that does nothing more than create a XML file.i have got some JQuery code that reloads the servlet to get the XML data.This works fine and i am able to load the data i want, the problem i have is that when the data is loaded to the jsp page it displays [object Document] in front of my output.
Code JavaScript:
$(document).ready(function() {
setInterval(function() {[code]....
XML file only has one value, called row 1 with the data, "wow this is cool", but my output is: [object Document]
View 1 Replies
View Related
Sep 19, 2005
does anyone know of any javascript method that does the same job as
document.write(), but not necessarily at the end of the document? For
instance, insert some text inside an element that has a specific ID
tag?
View 25 Replies
View Related