gpt4 book ai didi

javascript - 当 URL 包含加载时的特定参数时,如何调用此 javascript?

转载 作者:行者123 更新时间:2023-11-28 20:22:22 25 4
gpt4 key购买 nike

此功能可以自动输入值,并在点击链接时跳转到输入框的位置。
效果很好。

<% if current_user %>
<% content_for(:head) do %>
<%= javascript_tag do %>
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();
});

<% end %>
<% end %>
<% end %>

我希望在页面加载时执行完全相同的操作,而不是单击,并且其 URL 包含此参数 mode=1 就像这样 example.com/foo?mode=1

我怎样才能做到这一点?

最佳答案

首先:当您使用jQuery(document).ready()时,当执行以下代码时,您的页面已经加载。

第二:location.search 包含 ? 之后的所有网址。
要解析它,请参阅 Get escaped URL parameter .

总结一下:

    <%= 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 对我来说很奇怪。

关于javascript - 当 URL 包含加载时的特定参数时,如何调用此 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18031331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com