0

我经常发现自己在一个地方,即使是像下面这样的简单 jQuery 代码 -

jQuery(document).ready(function () {
    jQuery("input[type='text']").click(function () {
        this.select();
    });
});

放置在“head”标签内时不起作用,但在母版页中将这个片段移动到正文标签的末尾之前可以正常工作。是否有任何我缺少的基本 JavaScript/jQuery 原则。

4

2 回答 2

1

可能有多种原因,其中一些是:

  • jquery.js在此代码块之后加载文件 - 解决方案是将您的代码移动到文件的链接下方
  • 尽管.ready()几乎可以保证其中的代码仅在document加载完成后才会触发,但您尝试选择的文本元素仍有可能尚未准备好/加载 - 这里的解决方案是使用以下.on()方法:jQuery("input[type='text']").on('click', function () {...}));
于 2012-09-22T18:13:38.547 回答
-1

过去我遇到过类似的问题,即 scipt 不会总是对尚未准备好的元素开火。

尝试使用$(window).load()而不是$(document).ready().

于 2012-09-22T20:19:01.713 回答