的onclick
方法被調用時,你發佈鼠標按鈕,而不是被按下。你需要的是mousedown
方法。
此外,您還需要改寫你的問題有點。據我瞭解,
你想要的東西發生而鼠標鍵被舉行 下來。
要做到這一點,您需要調用mousedown
活動的某些合理的時間間隔。
var mousedownID = -1; //Global ID of mouse down interval
function mousedown(event) {
if(mousedownID==-1) //Prevent multimple loops!
mousedownID = setInterval(whilemousedown, 100 /*execute every 100ms*/);
}
function mouseup(event) {
if(mousedownID!=-1) { //Only stop if exists
clearInterval(mousedownID);
mousedownID=-1;
}
}
function whilemousedown() {
/*put your code here*/
/* i.e, whatever you what to keep on happening while the button is down*/
}
//Assign events
document.addEventListener("mousedown", mousedown);
document.addEventListener("mouseup", mouseup);
//Also clear the interval when user leaves the window with mouse
document.addEventListener("mouseout", mouseup);
如果 '子彈產卵',你的意思是'的console.log( 「拍」);',你只需要使用'mousedown',而不是'.onclick'。但是如果你想讓一些函數繼續運行(例如'fireBullet();')**,而**鍵正在被**保持**,你可以參考我的答案。 – salmanxk