SitePoint Sponsor |
|
User Tag List
Results 1 to 7 of 7
Thread: EventListener help
-
Dec 8, 2007, 15:20 #1
- Join Date
- Nov 2001
- Location
- Colorado
- Posts
- 2,085
- Mentioned
- 0 Post(s)
- Tagged
- 0 Thread(s)
EventListener help
Testing the below code in Firefox does not work?
Firebug says, "BtnExternalFeeds has no properties"
Any ideas?
Code:var setExternalFeeds = { init: function() { var BtnExternalFeeds = document.getElementById("BtnExternalFeeds"); if (typeof BtnExternalFeeds.addEventListener != "undefined") { alert("test"); BtnExternalFeeds.addEventListener("click", setExternalFeeds.clickListener, false); } }, clickListener: function() { alert(Feeds.length); } }; // set the page load handler if(typeof window.addEventListener != 'undefined') { // not IE window.addEventListener('load', setExternalFeeds.init(), false); } else { // IE window.attachEvent('onload', setExternalFeeds.init()); }
WordPress Plugins: Comment Info Tip
My Blogs: What a Savage | Search-This
Tools: Search Engine Decoder | PageRank Decoder
Podcast: Rand Fishkin | SitePoint Founders
-
Dec 8, 2007, 17:13 #2
- Join Date
- Sep 2005
- Location
- Tanzania
- Posts
- 4,662
- Mentioned
- 2 Post(s)
- Tagged
- 0 Thread(s)
You don't need to execute the function within your addEventListener. Instead, you have to provide a function reference:
Code Javascript:var setExternalFeeds = { init: function() { var BtnExternalFeeds = document.getElementById("BtnExternalFeeds"); if (window.addEventListener) { alert("test"); BtnExternalFeeds.addEventListener("click", setExternalFeeds.clickListener, false); } }, clickListener: function() { alert(Feeds.length); } }; // set the page load handler if(window.addEventListener) { // not IE window.addEventListener('load', setExternalFeeds.init, false); } else { // IE window.attachEvent('onload', setExternalFeeds.init); }
-
Dec 8, 2007, 17:58 #3
- Join Date
- Nov 2001
- Location
- Colorado
- Posts
- 2,085
- Mentioned
- 0 Post(s)
- Tagged
- 0 Thread(s)
see below...
Last edited by Golgotha; Dec 8, 2007 at 19:53.
WordPress Plugins: Comment Info Tip
My Blogs: What a Savage | Search-This
Tools: Search Engine Decoder | PageRank Decoder
Podcast: Rand Fishkin | SitePoint Founders
-
Dec 8, 2007, 19:52 #4
- Join Date
- Nov 2001
- Location
- Colorado
- Posts
- 2,085
- Mentioned
- 0 Post(s)
- Tagged
- 0 Thread(s)
It now accepts the eventListener, but when clicked it throws the error and says, "btnExternalFeeds is not defined"...
error is on the line with btnExternalFeeds.value = "click me";
doesn't window.onload happen only after the entire page is loaded?
why is it then not defined?
Code JavaScript:var setExternalFeeds = { init: function() { var feeds = document.getElementById("externalFeeds").getElementsByTagName("div"); var btnExternalFeeds = document.getElementById("BtnExternalFeeds"); if (typeof btnExternalFeeds.addEventListener != "undefined") { btnExternalFeeds.addEventListener("click", setExternalFeeds.clickListener, false); } }, clickListener: function() { //alert("test"); btnExternalFeeds.value = "click me"; } }; // set the page load handler if(typeof window.addEventListener != 'undefined') { // not IE window.addEventListener('load', setExternalFeeds.init, false); } else { // IE window.attachEvent('onload', setExternalFeeds.init); }
WordPress Plugins: Comment Info Tip
My Blogs: What a Savage | Search-This
Tools: Search Engine Decoder | PageRank Decoder
Podcast: Rand Fishkin | SitePoint Founders
-
Dec 9, 2007, 09:51 #5
- Join Date
- Nov 2001
- Location
- Colorado
- Posts
- 2,085
- Mentioned
- 0 Post(s)
- Tagged
- 0 Thread(s)
anyone?
WordPress Plugins: Comment Info Tip
My Blogs: What a Savage | Search-This
Tools: Search Engine Decoder | PageRank Decoder
Podcast: Rand Fishkin | SitePoint Founders
-
Dec 9, 2007, 20:08 #6
- Join Date
- Aug 2007
- Posts
- 365
- Mentioned
- 0 Post(s)
- Tagged
- 0 Thread(s)
change
Code:btnExternalFeeds.value = "click me";
Code:document.getElementById("BtnExternalFeeds").value = "click me";
-
Dec 9, 2007, 20:10 #7
- Join Date
- Aug 2007
- Posts
- 365
- Mentioned
- 0 Post(s)
- Tagged
- 0 Thread(s)
or
Code JavaScript:var setExternalFeeds = { btnExternalFeeds : null, init: function() { var feeds = document.getElementById("externalFeeds").getElementsByTagName("div"); this.btnExternalFeeds = document.getElementById("BtnExternalFeeds"); if (typeof this.btnExternalFeeds.addEventListener != "undefined") { this.btnExternalFeeds.addEventListener("click", setExternalFeeds.clickListener, false); } }, clickListener: function() { //alert("test"); this.btnExternalFeeds.value = "click me"; } };// set the page load handler if(typeof window.addEventListener != 'undefined') { // not IE window.addEventListener('load', setExternalFeeds.init, false); } else { // IE window.attachEvent('onload', setExternalFeeds.init); }
Bookmarks