我想使用jquery在表单输入中设置一些默认文本。文本将是动态的,所以我不能只在html中设置它。我想让jquery等待表单加载。JQuery的加载()和延迟()函数不工作
延迟功能设置文本,但不会延迟。这是瞬间的。
加载函数似乎没有执行。
HTML代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Testinput</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="testinput.js"></script>
</head>
<body>
<form>
<input size="20" name="thing" />
<input type="image" src="" name="submit" value="go" />
</form>
</body>
</html>
jQuery代码:
$(document).ready(function(){
var $input = $('input[name="thing"]');
$input.val("");
var query = "orange";
//$input.delay(10000).val(query); // No delay!
$input.load(function(){
// Nothing happens!!
alert("form loaded");
$input.val(query);
});
});
都尝试jQuery的1.6.4.min.js和jQuery的1.4.min.js无济于事。
编辑: 我无法回信,对堆栈溢出的JavaScript似乎并没有为我工作正常。我得到“堆栈溢出需要来自另一个域的外部JavaScript,它被阻止或无法加载”。
我已经得到了使用Clive的答案工作的延迟功能,但有没有办法让jquery等待表单在运行代码之前先加载?
@shafty什么工作:关于你的编辑:你已经在做了...'$(文件).ready'将只运行在DOM已准备就绪,此时表单将在DOM树中完全加载并可用。 – Clive