In my UI framework, I have an event handler - just like many frameworks do. My handler is a static object, and contains methods to take care of things like mouse events, etc. However, upon adding a method to handle onfocus today, I ran into a very odd problem in Firefox. I've put together an example page that generates the error:
I'm getting the following error: attempt to run compile-and-go script on a cleared scope [Break On This Error] if (xmlhttp.readyState==4 && xmlhttp.status==200)
when i try to run the following code in mozilla firefox:
gethint.html
<script language="javascript" type="text/javascript"> function showHint(str) {
I'm using the code below for the "launch page" to open a JS window and know when it has been closed, and than execute some other code that should be run after the pop-up closes.
javascript Code:
This works, and does exactly what I want. Do any of you JS experts see any reason for concern? Anything that makes it suboptimal?
I would like to set a flag using a closure so that the internal value of that closure is preserved for me to retrieve it when different events occur. It is one of those times where lack of block scope will stop me from doing what I want to do unless I can set a boolean and preserve its value in a function.
I am currently strungling with the fact that I want to control the browser closure. In fact, I have a webbased application in which I use a wizard. Ones the wizard starts, a lock is set on specific objects in the db. On all pages of the wizard, the user get the possibility to exit the wizard by clicking on a custom "Exit" button. That way, I know that the user has left the wizard and that way I can unlock the locked objects in the db again.
So far, so good. But users are used to close browser windows by clicking on the "X" in the titlebar. If they close a window that way, the locks aren't unset and no other user may start the wizard again. If I should know that he had clicked on the "X", I could unlock the objects.
I have searched a lot on the net but all results aren't sufficient for me.
Some solutions which don't work:
1) onunload event: =Also called when the window is refreshed or forwarded.
2) "titlebar = no" property while opening the first page of the wizard, is not working (the titlebar is still enabled). And even then, the users can close the window by clicking CRL-F4. This key combination isn't disabled by the "hotkeys = no" property.
Note: if the client's pc crashes or if the user kills the wizard process via the task manager (exceptional cases), they have to call maintenance to reset the locks. This is a requirement, defined by bussiness.
I'm not sure why this: Code: console.log(instance2.getAnotherKey()()); returns Object { a = "a" } when I clearly reassigned the value of the a property. Reassigning the property caused change in this line:
Code: ref.a = 'abc'; console.log(inst.getZ()); //Object {a="abc"} So why does it work when you call an instance method in the constructor (e.g. this.getZ()) but doesn't work when you call the instance method in prototype?
when a user clicks on a link, a new window opens. what I want to do is that if the user closes that popup but click on that same link again, the window should open..
Code: <script language="javascript"> var winOpen = "";
I'm using the apycom jquery menu style 1 (dim grey)URL..It's a great looking menu but does anyone know how to 'delay' the dropdown menu closure when your mouse moves off of it?I can change the speed of the menu opening and closing, but not can't find a way to delay.It's too easy for visitors to 'slip' off the menu and if you have two child menu's, it get frustraing if you drill down to the secon child menu and slip off. You have to go back to the top menu and start again.
I'm trying to group some existing top-level functions inside a closure (to avoid polluting the global namespace) but I'm not quite getting it to work. First, all the JS works outside my anonymous function, but once I put it in the anonymous function I get an error of "crossfade is not defined". I'm not quite getting why the the setInterval/crossfade works outside the anonymous function but not inside. Anything inside start() should be able to see vars/functions outside start() and it should all be protected in the closure created by the top-level anonymous function? I'm not trying to access anything *within* crossfade(), I'm just trying to execute it.
Code: (function($) { //vars up here that internal functions can access //also using some jquery inside here, so using $ function crossfade() { //body here } //other functions function start() { //body here cInterval = setInterval('crossfade()', 5000); } })(jQuery);
After the user types in the textboxes and press enter (with the cursor still in one of the textboxes), buttonXXX should be pressed by default.(the user is too lazy to take the cursor over to buttonXXX and click).
The problem is the top/left most button (button A) gets pressed which annoys them to death. So I tried to do this.
In the bottonA's onfocus event handle- document.forms[0].elements['buttonXXX'].focus() .
Result: ButtonXXX receives focus alright, but the code for buttonA still executes!
For those who have been using Outlook Express, you must be pretty used to the fact that whenever you focus on the preview section, the header for the preview turns from grey to blue, while the text turns from black to white. Code:
The <select> is with a <form><tr><td>, but I don't see how that would make a difference. I started using the onchange="return blah-blah-blah(this);" and that worked so I copied that to the onfocus. What I want to do is to remember the value of the contents of the <select> before the user changes it, and compare it to the new value.
<body> <script type="text/javascript" src="tooltips.js"></script> <p>Use the TAB and Shift-TAB keys to navigate this list.</p> <ul> <li><a href="/" title="Home Page" tabindex="10">Home</a> <ul> <li><a href="/sitemap.php" title="A guide to the areas of this website" tabindex="20">Sitemap</a></li> <li><a href="/preferences.php" title="Change the design scheme and functionality" tabindex="30">Preferences</a></li> <li><a href="/brothercake.php" title="About this site and its webmaster :)" tabindex="40">About brothercake</a></li> </ul> </li> </ul>
</body></html>
And this in tooltips.js
// global vars var i, pos, obj, tempObj, tempEle, winSize, extent, scrollHeight;
//toolTip object var toolTip = null; var toolTipParent = null;
2. How to make the "function getKeyValue_h(chr)" work without the submit button? (on pasting in textarea it should automatically give the calculated result in the textbox.)
I'm developing a website where a visistor does not have to use the mouse. All he has to do is use the Tab-key or key-combinations to jump to specific hyperlinks (containing accesskeys). Next, he presses the Enter key to follow the hyperlink.
My question is: is it possible to change color of the hyperlink when a hyperlink get the focus. I do not only want to see the dotted line, I want the hyperlink to lighten up.
I've got a default value of some text in an input element when a page loads. What I'd like to do is have the value disappear when the user clicks in the input field.
I've figured out I can use:
onclick="this.value=''"
This works fine, however if for some reason the user adds his own input, then click somewhere else/clicks back, the text has once again been erased.
So I thought of a function like the following, however it does not work:
function removeinput(x) {
if (x == 'Enter items not on standard list here...') {
x = ''
} }
onclick="removeinput(this.value);"
I've also tried placing this.value inside of single quotes to no avail.
Setting the min to 0 will dispaly all the optins if the user clicks the field a 2nd time. However, i'd like the options to display once the input has focus, or using a button. How can I do that?
I'm trying to use javascript to control a table's td styles. What I want to achieve is to
- apply style A onmouseover - apply style B onmouseout - apply style A onfocus
The problem is that the mouseout event overrides the focus event. Also I'd like each element to stay on the focus state until another element gets clicked.
This is my code:
<script language="javascript" type="text/javascript"> function HoverStyle(element) { document.getElementById(element).style.backgroundImage = "url(images/arrow1.jpg)";
i'm sure its been thought of before and i'm sure this is just gunna piss off the people who like to tab through their pages, but i just made a little behavior component file that stops any links from gaining focus on your page.
put this is the style section of your page.
<style type="text/css"> a { behavior: url("hidefocus.htc"); } </style>
then put the attached file in the same dir. (hidefocus.htc) this is all it is
Note: since this behavior is stored in an external file, sometimes one instance of link focus can occur before the htc file can be loaded. if anyone has any tips on fixing that i'd like to hear'em.
I want to have a function on an event <span id= "nameheader"> </span> <form method ="post" action="send.php"> <input id = "nameinput" class = "input" value = "name" onfocus = "focus();" onblur = "blur();" />
That is when you focus on the input box the value ' name' gets put above the box and when you focus on something else it goes back to the box. this is my function focus(){ document.getElementById('nameheader').innerHTML = 'name'; document.getElementById('nameinput').value = ''; } And I would obviously do the opposite for onblur event.