首先,我有點困惑,我無法立即在SO上找到答案。問題是關於代碼風格。停止以優雅的方式鏈接jQuery
考慮這樣一個例子:
$('input[type=text]').on('click', doSomething);
如果在頁面上沒有投入,會發生什麼?這個選擇器的結果似乎是null
,我們得到一個錯誤。
因此,我們必須使代碼更大,醜陋:
var inputs = $('input[type=text]');
if (inputs) {
inputs.on('click', doSomething);
}
我愛jQuery和期待此次的解決方案更優雅和縮寫形式。
UPDATE
這個問題的原因是prototype.js
通過頁面上的3方腳本包括在內。道歉,我應該在沙箱上張貼SO
沒有,這正是做*不*發生。你可以寫'$(「foobarbaz」)。on('click',無論),它會一直工作(當然什麼都不做)。 – Jon 2013-02-28 18:06:41
嘗試一下,然後再遵循你的邏輯! – Shef 2013-02-28 18:06:56
原因是jQuery'$'對象沒有被寫入。道歉。我認爲我們應該刪除這個問題。謝謝大家! – Dan 2013-02-28 18:12:44