2013-10-16 46 views
0
document.body.onclick = function(e) { 
    e = e || event 
var target = e.target || e.srcElement 
// variable target has your clicked element 
    innerId = target.id; 
    // do your stuff here. 
    isClicked = 1; 


} 

document.body.onmousemove = function() 
{ 

hasMouseMoved = 1; 
//console.log(hasMouseMoved); 
} 
window.onresize = function() 
{ 
    isresized =1; 
    //console.log(isresized); 
} 

window.onscroll = scroll; 

function scroll() 
{ 
    alert("scroll event detected! " + window.pageXOffset + " " + window.pageYOffset); 
    isScrolled=1; 
    //console.log(isScrolled); 

} 
document.body.onkeypress = function(evt) 
{ 
    evt = evt || window.event; 

    if (evt.keyCode!=='undefined') { 
     // Do your stuff here 
     isPressed = 1; 
     // console.log(isPressed); 
    } 
return isPressed; 
} 

    function getResult() { 
     result = ***hasMouseMoved+"|"+isClicked +"|"+isPressed+"|"+isresized+"|"+isScrolled+***"|"; 
     //console.log(result); 
     return result; 
    } 
    // return result; 
//} 
var final = getResult(); 
    console.log(final); 

所以我有這5個事件處理程序的操縱/處理用戶與鍵盤和鼠標的交互。我有一個函數getResult,它獲取與每個函數關聯的標誌的更改。當我用HTML頁面運行這個Javascript時,我需要在控制檯中不斷鍵入getResults();,以便在鍵入/ mousepressed/mousemoved /滾動/調整大小後在這些標記中獲取更改。我希望這些更改能夠實時顯示,並且這些標誌隨交互發生變化。事件輪詢實時

請幫我理解如何輪詢這些處理程序,以便實時給出結果。截至目前,標誌(isPressed/isScrolled/isResized/hasMouseMoved/isClick)被賦值爲0,並保持在getResults函數中調用final變量。請幫忙。

回答

2

調用的getResult()在每個處理函數的結尾:

console.log(getResult()); 
+0

非常感謝。有效。 –