jquery - 选中复选框时触发功能的小问题
问题描述
我被一个小问题困住了。这是代码
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<input type="checkbox" id="chkPassport" /><span>Check To load </span>
<script> $(function () {
$("#chkPassport").click(function () {
if ($(this).is(":checked")) {
$("#b-placeholder").show(
function() {
$("#b-placeholder").load("https://dl.dropbox.com/s/2v5pn5anpi0rvwv/search%20article.html");
});
} else {
$("#b-placeholder").hide();
}
});
});
$(document).ready(function(){
$("#placeholder").click(function(){
});
});</script>
<div class="lod-notes" id="b-placeholder" style="display:none;"><img src="https://upload.wikimedia.org/wikipedia/commons/b/b9/Youtube_loading_symbol_1_(wobbly).gif" width="35px"/> </div>
问题是这样的:当您在 Chrome 中打开上面的 html 文件时,一切正常。选中复选框时,它会加载页面。但是当我在加载的页面中打开链接(即:Google)时,它会打开 google,但是当我按下返回按钮时输入仍然检查,但页面未加载。为了加载它,我必须取消选中检查的输入,然后重新检查输入。如何编辑jquery代码,以便在检查输入时加载功能触发器即站点加载状态未单击输入以处于检查状态
$("#chkPassport").click(function () {
我认为这个点击功能是有问题的。由于该站点仅在输入单击到选中状态时才加载,而不是在输入处于选中状态时加载。希望你明白了。我被困在这里。如果你回答我,你会拯救我的一天。提前致谢。
解决方案
当你回来时,你可以检查 $(document).ready 如果复选框被选中。如果是这样,只需像这样加载函数。另一种解决方案是在链接上使用目标空白。
$(document).ready(function(){
if($("#chkPassport").is(":checked")) {
$("#b-placeholder").show(function() {
$("#b-placeholder").load("https://dl.dropbox.com/s/2v5pn5anpi0rvwv/search%20article.html");
});
}
$("#placeholder").click(function(){});
});
推荐阅读
- package - 将清单文件上传到 Office 商店的问题
- gitversion - 将版本传递到分支
- visual-studio-code - 有没有办法将命令添加到侧栏中的源代码管理中的更多操作
- flutter - Flutter MVVM 堆叠封装
- angular - 运行一个旧的 Angular 项目
- swift - Flutter 中是否存在“失败的类型转换”?
- reactjs - 如何在一段时间后呈现反应 js 项目?
- ios - iOS UNNotificationRequest(本地通知)
- character-encoding - 在 AWS Spectrum 表中加载特殊字符
- python - 在熊猫中读取带有额外行的csv文件