第一:当你使用jQuery(document).ready()
你的页面已经加载完毕时,执行下面的代码。
第二:location.search
包含 th 之后的所有 url ?
。
要解析它,请参阅获取转义的 URL 参数。
总而言之:
<%= javascript_tag do %>
function getURLParameter(name) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
);
}
jQuery(document).ready(function () {
$(document).on('click', 'a#user', function() {
$(".box#input").val($(this).attr('value'));
var input = $(".box#input");
$(document).scrollTop(input .offset().top - 45);
input.focus();
});
if (getURLParameter('mode')==1) {
var input = $(".box#input");
$(document).scrollTop(input .offset().top - 45);
input.focus();
}
});
<% end %>
在您发表所有评论之后,我写了一个示例页面,其中包含您的代码片段并且它可以工作:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="includes_js/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
function getURLParameter(name) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
);
};
jQuery(document).ready(function () {
// alert(location.search);
var mode=getURLParameter('mode');
// alert(mode);
if (mode==1) {
var input = $(".box#input");
$(document).scrollTop(input .offset().top - 45);
input.focus();
}
});
</script>
</head>
<body>
<form>
<input name="t1" /><br>
<input name="t2" class="box" id="input" />
</form>
</body>
</html>
对我来说,你的选择器很奇怪。你真的有标签class="box" id="input"
吗?特别是 id 对我来说似乎很奇怪。