我在Jquery http://jsfiddle.net/anderskitson/AtqHm/上找到了这个jsfiddle代码,它在jsfiddle上运行正常,但是当我尝试在html文件中实现它时它不起作用。我把它托管在http://anderskitson.ca/tests/javascript/clearOnHover.html我不知道为什么它不起作用它是非常基本的设置。任何帮助将不胜感激。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Rat Recipes</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
</head>
<body>
<div id="form">
<form method="post">
<input type="text" class="class-11" value="Enter Choice #11">
<input type="text" class="class-21" value="Enter Choice #21">
<input name="submit" type="submit" id="submit" class="submit button" value="Send feedback" />
</form>
<script>
$(document).ready(function() {
var default_val = '';
$('input[class^="class-"]').focus(function() {
if($(this).val() == $(this).data('default_val') || !$(this).data('default_val')) {
$(this).data('default_val', $(this).val());
$(this).val('');
}
});
$('input[class^="class-"]').blur(function() {
if ($(this).val() == '') $(this).val($(this).data('default_val'));
});
});
</script>
</body>
</html>
答案 0 :(得分:4)
看起来你在ready()函数的末尾有一些无法识别的字符,它没有出现在上面的代码片段中。当我将代码复制/粘贴到Notepad ++中时,我看到“?”字符。删除它会导致代码正常运行
答案 1 :(得分:1)
我在第29行的Chrome中收到错误,这告诉我,由于某种原因,浏览器在最后的if语句中对你缺乏花括号的态度不太宽容。尝试:
if ($(this).val() == '') { $(this).val($(this).data('default_val')); }