首先,我有点困惑,我无法立即在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