Getting Different Behaviors For Clicking On An Image Vs Holding The Mouse Down
Jul 20, 2005
I'm working on a small javascript application where I'd like to get one
behavior when a user clicks on an image (image swap), but when they
simply hold down the mouse button for a second, they get another
behavior (drop down menu).
The former seems pretty easy -- just assign the handler for the onClick
event to the swapping function. The latter, however, seems more
involved.... I know I'd assign the onMouseDown handler to a different
function, and then.... after a 1 second or so I'd want to test whether
or not the mouse buttom was still being held down. Except that I have no
idea how to do that (both the waiting part and the actual test itself).
The idea that does occur to me is to have some kind of data structure
associated with the clickable image. I could have functions associated
with the onMouseUp and onMouseDown handlers to set a flag.... as soon as
onMouseDown is called, it sets the flag to 0, then it waits 1 second,
and checks to see if the flag is 0. If onMouseUp has been called, it
will have set the flag to 1, and we call the plain old click handler. If
the flag is still 0, then I know to do the popup/drowpdown menu.
I'm a little worried about the timing between the different flows of
control, though, and I'm also wondering if there's not simply a better
way to do it.
I have done one project in javascript so far and have had no schooling on the topic, however I have learned quite a lot in the last few months from this thing called the 'internet'. So far I managed to make an html image map that has various tooltips which will appear onmouseover, and the tooltip disappears onmouseout. Each point of coords that i have defined has a hyperlink to a different page on the internet. It works just like i wanted it to and i couldn't be happier, that is, when i'm using a mouse...
When i am using a touchscreen device it is a different story. specifically i'm trying to port my html page to android as i figured it would be easy with the android sdk and webview (it was, but read on). What i found when i used the 'app' on my phone was that onmouseover works when you touch the screen, however it also registers as a click, so pop goes the tooltip, and i'm whisked away to my webpage. not the desired result.
Ideally I would like to hold down the screen for 3 seconds and then the hyperlink would activate, but i decided that just getting the thing functional would suffice for the time beaing so i tried to include some 'ondblclick' that would trigger a document.location. This worked fine on a web browser again, but had no result on the touchscreen. I decided to abandon this half step because I have read that ondblclick doesn't work in an image map and it isn't my intended result anyway.
I have found a lot of javascript and jquery samples that emulate the onHold event that i'm trying to achieve, both on this forum and all over the internet, however these samples are overly complex and are focused on looping an action, such as incrementally increasing a value or zooming or whatever. I just want to redirect the user to another page if they trigger 'onmousedown' for 3 seconds.
I have an img#info that I want to fade in when a div#trigger is hovered over. Then I want to be able to move the mouse over to the image and click a hot spot there, without the image disappearing because I moved off of div#trigger.
This works fine as far as fading the image in and out. I tried then adding a hover statement for the img itself, below, but this doesn't work at all. The image is now always on, even though the alerts never fire when I roll on and off the image:
I'd like to make it possible to move the background of a site by clicking and dragging it with the mouse. So far I've only found flash solutions and I'd really rather not use flashIf anyone knows of any jquery code that is somewhat similar
I've got to have a typo somewhere, but i can't seem to find it. I need a new pair of eyes to point it out for me. background: trying to code a mouseover link for a nav bar. everything is working( hyperlink, normal image shows up) but when i mouse over the image swap doesn't happen.
I have 2 parts of code. 1st preloads images and does the swap function. loads in <head> See below:
I am in the process of developing a website. I would like to use some images. The image should zoom on mouse over and mouse click i.e the image should zoom to h:100*W:100 on mouse over and on mouse click it should be zoomed to h:1000*w:1000. Also I would like to change the mouse over image and mouse click image before zooming.
The objective is to have an image fade to another one progressivly while the mouse is over, when its not it fades back to the original, whether or not it faded to the target completely or not. That is, if it takes 1 second to fade completely to the other image, and you take your mouse off it at 0.5 seconds, it will begin to fade back to the original. I have a problem where I want to give this ability to multiple images (thumbnails) on a page, without having reams and reams of code and instead just have one function accomadate any number of images.
I've been trying to have an image be placed during a mouse over or mouse click event. The closest to accomplishing this is having the image be replaced by the image I want to overlay.
I am still designing the website and want some flexibility. I am capturing the mouse clicks fine on top of an image, but the coordinates are absolute and not relative to the image. How can I capture mouse clicks relative to the image so that I can move the image anywhere in my website?
[URL] check the above website. on mouse over of any image a pop up appears and displays the image information i want to achieve the same thing in my project which language is used for this purpose and how to do that.
I am modifying an gallery script called slideSwitch. I want to set the interval value by a variable. For example, If I click button 1 the interval value is 5000 and If I click button 2 - the interval value is 2000 etc. Do I need to pass the value somehow? I My code so far:
I'm using the following to try to create an image that if clicked on, will throw up the IE add bookmark, but it doesn't work. Can anyone suggest how to do this?
I have an image map of a subdivision and each section of land in the subdivision has a lot number on it. Below the image map I have a table with details about each lot (eg Lot Number, Lot Size, Lot Price ect...)
I would really like a way so the user can click on the image map and the corresponding row below the image will be highlighted.
The user clicks on a new row and the previous row goes back to its original color and the new row is highlighted.
Is the possible? If it is and can someone please point me in the right direction on how you would do this?
The world map (an image map) that I have shows three continents; namely, America, Asia, and Europe. They are in yellow color. This world map is placed in a HTML file.
Every continent is clickable. By clicking on a continent; say, America, I pop up a window in which some information America is displayed.
And when a continent is active, its color on the map is changed to orange color. Therefore, I have made three more image maps: America is in orange color, Asia is in orange color, and Europe is in orange color.
How do I switch image (i.e. showing the orange color of the continent) after a certain continent is clicked by users?
I'm testing the Jexpand plugin (expand table rows): [URL] and i would like to know what i have to modify to expand/collpase rows only when i click on the left arrows picture (not by clicking everywhere on the row)?
i've searched this forum before posting but didn't find a "clean" solution to my problem. I have an image with a link on it:
Code:
<a href="#null" onClick="addValue('bold');"><img src="images/myimage.gif" title="Some text" alt="Some text" /></a> which adds the value in a textarea in the same page via this function:
Code:
function addValue( val ) {
var tb = document.forms['valuesform'].elements['valuesfield'];
if ( tb.value.length > 0 ) tb.value += " , ";
tb.value += val; }
I need to disable the link after the image has been clicked,preventing multiple insertions of the same value. I've modified the link this way:
Code:
<a href="#null" onClick="addValue('bold'); this.onclick=null;" ><img ...... but while only one click is allowed,i get many JS errors in the JSConsole like
Code:
uncaught exception etc.... and i think this is not a good sign.=
Code: <div id="div1" onclick="function1()"> <img src="image1.jpg /> <div id="div2" onclick="function2()"> <img src="image2.jpg /> </div> </div> When I click image1, function1 is called.. but when I click image2, function2 is called first, then function1 is called..I want to call function2 alone when i click image2..