2012-10-10 33 views
0

代码:火狐抛出“没有定义事件”,而运行代码

$(document).ready(function() { 
    $("#main_div").bind('click', function(e){ 

    var x = event.pageX-document.getElementById("main_div").scrollLeft; 
    var y = event.pageY-document.getElementById("main_div").scrollTop; 
    document.pointform.form_x.value = x; 
    document.pointform.form_y.value = y; 
    var a= x-404; 
    var b= y-88; 

    if(document.getElementById('optionselect').value=='a') 
    { 

    $("#container-5").css({"top":b,"left":a}); 
    $("#container-5").show(); 
    e.stopPropagation(); 

    } 

    else if(...) 
    { 

    ... 

    } 


    }); 
}); 

嗨,该代码是工作在IE和Chrome的很好,但是当我尝试在Firefox运行相同的,它抛出一个错误“事件未定义”并将光标指向定义了var x的地方。我如何克服这个问题?

+0

你通过'e'作为一个变量'event',而不是说'event',所以它的'e.pageX'和'e.pageY' – Ohgodwhy

+0

是。我的错! :/ –

回答

1

变化

$("#main_div").bind('click', function(e){ 

$("#main_div").bind('click', function(event){ 

,一切都应该是好的:)

+0

哎呀。我收到的最快和最正确的答案。 –

+0

很高兴能帮到您 – Sem

0

尝试

$("#main_div").bind('click', function(event){ // Cause you seem to use 
               // event argument and not e 

而不是

$("#main_div").bind('click', function(e){ 

Also Change e.stopPropagation();

event.stopPropagation(); 
+0

是的。有帮助。谢谢! –