var x = event.target||event.srcElement;
document.getElementById(x.id).style.left = 200 + "px" ;
document.getElementById(x.id).style.top = 100 + "px" ;
Works fine on Google Chrome and IE but not on Firefox. Tried it on Google. Google says event.srcElement
(works on IE but not on Firefox) so I have added event.target
but still not working. Is there anymore changes I need to do to work on Firefox? By the way I'm using 3.5 version of Firefox.
function up()
{
dragok = false;
document.onmousemove = null;
var x = event.target||event.srcElement;
document.getElementById(x.id).style.left= 200 + "px" ;
document.getElementById(x.id).style.top= 100 + "px" ;
}
Please help me to make it work on Firefox
Make sure you define event
as a formal parameter to the handler.
IE
defines it globally, and Chrome
defines it both in both places, so it works either way, but Firefox
only defines it as a function parameter.
function up( e ) {
// ^-----------------------------------------------------+
if( !e ) e = window.event; // <---needed this --- and this ->--+
dragok = false;
document.onmousemove = null;
var x = e.target||e.srcElement; // <--- and these
document.getElementById(x.id).style.left= 200 + "px" ;
document.getElementById(x.id).style.top= 100 + "px" ;
}
I solved my problem using Jquery. For example to get the id of a element you can use:
var x = $(this).attr('id');
This solution to work in Firefox browser too. When start keydown
action then its set the event
property to global variable like this.
var keyEvent=null;
Assign that event
property to keyEvent
and .item
is target element.
$(document).on("keydown",'.item', function(e){
keyEvent=e;
},this))
then.Use keyEvent
in your code.
function up( e ) {
if( !e ) e = keyEvent;
dragok = false;
document.onmousemove = null;
var x = e.target||e.srcElement;
document.getElementById(x.id).style.left= 200 + "px" ;
document.getElementById(x.id).style.top= 100 + "px" ;
}
Note : Don't try to set the event
property to global variable of window
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.