我经常发现自己在一个地方,即使是像下面这样的简单 jQuery 代码 -
jQuery(document).ready(function () {
jQuery("input[type='text']").click(function () {
this.select();
});
});
放置在“head”标签内时不起作用,但在母版页中将这个片段移动到正文标签的末尾之前可以正常工作。是否有任何我缺少的基本 JavaScript/jQuery 原则。
可能有多种原因,其中一些是:
jquery.js
在此代码块之后加载文件 - 解决方案是将您的代码移动到文件的链接下方.ready()
几乎可以保证其中的代码仅在document
加载完成后才会触发,但您尝试选择的文本元素仍有可能尚未准备好/加载 - 这里的解决方案是使用以下.on()
方法:jQuery("input[type='text']").on('click', function () {...}));
过去我遇到过类似的问题,即 scipt 不会总是对尚未准备好的元素开火。
尝试使用$(window).load()
而不是$(document).ready()
.