2012-10-11 39 views
-1

現在我正在使用<body onload="function">,它根據哪個元素關注的內容來改變頁面上的一些文本。它工作正常,但我需要我的網站每次焦點更改時運行該功能(或者,甚至更好,每次單擊頁面的任何部分時)。如何通過點擊頁面來運行JavaScript函數?

目前的代碼如下所示:

<body onload="changeText()"> 
<script> 
function changeText(){ 
    function here; 
} 
</script> 
<p>This is where text changes based on the function</p> 

謝謝!

+0

我想他在問什麼要勾住'onclick'。 –

+1

爲什麼人們對這個合法的問題投票? –

+0

@RASG所以對於SO上的絕大多數問題,包括那些擁有高票數的問題,也是如此。搜索SO我找不到類似的問題。這是重要的。 –

回答

3

您可以在文檔上附加onclick事件。 jsfiddle

​document.onclick = function(){ 
// your code 
//alert("clicked"); 
}​ 

如果你想改變焦點然後用

window.onfocus = function(){ 

    // your code 
    //alert("focus"); 
} 
+0

此方法還會禁用頁面上的其他正常點擊事件。示例http://jsfiddle.net/5TVAm/1/ –

+0

@AnthonyHatzopoulos爲什麼你認爲它會禁用其他點擊事件。兩者都是我分開的例子。改變body html只是爲了顯示焦點被調用。 OP將以不同的方式使用它。 – Anoop

+0

好吧,要公平並明確:'window.onfocus'函數將覆蓋正常的點擊事件。 document.onclick不會。示例http://jsfiddle.net/6qKyq/1/ –

0

試試這個:

<!-- language: lang-html --> 
<body onload="changeText()"> 
<script> 
function changeText(){ 
    function here; 
} 
document.onclick=function(){changeText();}; 
</script> 
<p>This is where text changes based on the function</p> 
-1

jQuery的不從禁用單擊問題遭受

$(document).click(function(e){ 
       //Blah 
      }) 
相關問題