2012-04-18 125 views
0

我正在嘗試更改mousedown上的圖像並恢復到mouseup上的初始圖像。 圖像在mousedown上正在改變,但它不會恢復到mouseup上的初始圖像。 mouseup函數中的警報不會顯示...出了什麼問題?在mousedown上更改div圖像並在mouseup上還原

$(#mydivid).bind('mousedown', function() { 
     document.getElementById(mydivid).style.backgroundImage = "url(Images/new.png)"; 
     alert("mousedown"); 
    }); 



    $(#mydivid).bind('mouseup', function() { 
     document.getElementById(mydivid).style.backgroundImage = "url(Images/initial.png)"; 
alert("mouseup"); 
    }); 

我已經觀察到,當我與多於1個事件同一div,第一個事件處理程序和工作而忽略其他...我如何確保所有事件的處理?

回答

1

你應該擺脫警報。這是造成這個問題的原因。

我注意到的另一件事是'#mydivid'沒有封裝在引號中。另外,如果你使用的是jquery 1.7+,那麼推薦使用'on'而不是'bind'。

從jQuery 1.7開始,.on()方法是 將事件處理程序附加到文檔的首選方法。對於早期版本, .bind()方法用於將事件處理程序直接附加到 元素。

來源:http://api.jquery.com/bind/

JQuery的也有改變元素的CSS特性的方法。也許你可以考慮改變背景。

http://api.jquery.com/css/


但是,就像我說的,刪除警報,它應該只是罰款。看到這個例子:

http://jsfiddle.net/fS9Ct/1/

相關問題