我有一个带有preventDefault
方法的超链接处理程序。我想在新选项卡中打开一个链接,并使用jQuery .load()
方法加载特定内容。做这个的最好方式是什么?
这是超链接处理程序的代码和我加载内容的方式。
$("a").click(function(event){
event.preventDefault();
if ($(this).attr("target")=="_blank"){
// open at new tab and make some actions
}
else {
//some actions
}
});
$(".loadedContent").click(function(){
$(".content").load("loadedContent.html");
});
答案 0 :(得分:1)
您可以在新标签页中打开链接,但请记住,您将无法使用jQuery访问该页面。您必须加载一个URL,您将拥有jQuery .load()
代码。例如:
if($(this).attr("target") == "_blank") {
window.open('url');
}
然后在新标签中,您可以加载您拥有该方法的页面。像:
<html>
<body>
<script>
$(document).ready(function () {
$('div').load('the_new_url.html');
}); // do remember to add the jquery file to the HTML document.
</script>
<div></div> <!--You'll find the new content in the DIV-->
</body>
</html>
这会非常混乱!
要使用.load()
方法,最好在同一页面上使用此方法,加载新内容并使用提取的内容替换现有内容。这些弹出窗口让用户烦恼!正如 Rex 所提到的,答案将基于意见,所以我的意见是在同一页面上使用该方法而不是新标签!
如果是我,我会使用上面的代码填充DOM加载事件的内容。在每个元素点击,我会根据元素和事件更新内容!