2011-12-11 74 views
0

我有兩個控件在我的窗體(其中包括)在某些事件上運行javascript函數。其中之一是類型文本的輸入和我添加了三個JavaScript功能來通過空間像這樣分離的onblur事件:爲什麼我的JavaScript函數運行?

<input type="text" onBlur="func1() func2() func3()"></input>

第二控制是一個組合和這一個我添加了兩個JavaScript函數由分號這樣分開onchange事件:

<select "onchange="func1(); func2()">...</select>

我的問題是,無論他們的工作。 據我所知,正確的語法是帶有分號的。爲什麼有空間的人工作?

謝謝!

回答

0

您正在測試哪個瀏覽器?瀏覽器很可能試圖爲你「做正確的事情」。許多瀏覽器,尤其是IE,會猜測開發者在遇到不符合標準的代碼時的意圖。

+0

Firefox 8和IE 8的行爲都一樣。輸入使用和不使用分號,但選擇只能使用分號。當然,兩個控件在用分號分隔時運行javascript。 – Tchypp

0

JavaScript中的分號是可選的。這是一篇很好的博客文章,以解釋:http://mislav.uniqpath.com/2010/05/semicolons/

+4

我不確定我喜歡這篇文章。他建議不要在某些特殊情況下使用分號並在分號前添加*行?我認爲這篇文章是正確的,分號用法包含了一些FUD,但它看起來像故意引發爭議,引導一些討論並獲得流量。 – Kapep

相關問題