2014-01-31 54 views
4

在莫茲開發網絡,這給使用調用onChanged像這樣的例子:什麼是「迴歸」做「回到MyFunction的()」

<textbox id="find-text" onchange="return myFunction(event);"/> 

是什麼上方和下方的區別哪些不使用「返回」?

<textbox id="find-text" onchange="myFunction(event);"/> 

下面是一個完整的例子:

<input onchange="return checkChanged()" type="checkbox" /> 
<script> 
    function checkChanged() { 
     alert("checkChanged"); 
     return false; 
    } 
</script> 

無論我用的是「迴歸」與否,價值被點擊後總是變化。我會認爲,因爲它返回false,那麼它不會讓用戶檢查框。

編輯:在這個例子中的實際答案是「沒有」。但是,這是因爲onchange不可取消。其他事件,例如onclick可以取消,返回false可防止默認操作,例如阻止點擊生效(即,檢查不會更改)。

回答

2

這將返回您的myFunction()調用的結果。在你的情況下,如果這將返回布爾值,這將改變或不改變<textarea>內容。

瞭解更多關於Function在MDN和onchange元素屬性。

+0

謝謝,我不確定自己爲什麼有時你從事件處理程序返回一個值。:) – Scimonster

+0

當我嘗試這個例子,它會改變狀態,即使我返回false。 –

+0

我在說爲什麼這是在事件的工作。所以在複選框的情況下,你應該使用'onclick',那麼它將不會被點擊。例如,在'textarea' onkeypress'上。看到j​​sFiddle http://jsfiddle.net/w56S2/ – antyrat

0

當您從函數返回某些內容時,該值將返回給 調用者。例如,假設我有一個方法來乘以兩個數字。也許 代碼如下所示:

function multiply(num1, num2) { 
return num1 * num2; 
} 
result = multiply(2, 4); 

功能乘將返回結果是乘法 無論它被調用。結果賦值的右邊是 ,函數被調用,所以這是返回結果的地方。 因此,在這種情況下(使用參數2和4),它與編寫 result = 8相同;

當您使用返回真或假的標記,你說明你 是否要javascript的 執行後發生的默認操作。

0

從這個Reference Link

設置或檢索一個布爾值,表明當前事件是否canceled.When事件被取消,屬於該事件的默認動作將不會被執行。例如,當onclick事件(onclick事件是可取消的)被取消爲一個複選框時,然後單擊該複選框不會更改其選中狀態。

返回值的使用是爲了防止基於布爾返回值執行默認事件處理程序。不能取消每個事件。 當你希望在某些你想阻止默認事件執行的情況下,你可以使用return。
For example:onclick事件提交表單按鈕如果你返回false它會阻止表單提交,如果你返回true,它會繼續提交。

+0

謝謝,這是有道理的。 –