在jQuery中创建的URL既重定向到又打开一个新选项卡
url made in jquery both redirect to and opens a new tab
$('#resultsDiv').on('click', '#seeTemplates', function () {
var ebayTemplate = $('#templates').val();
var url = '@Url.Action("SeeTemplateDetailsByName", "EbayTemplate")';
window.location.href = url + "?templateName=" + ebayTemplate;
});
这段代码运行良好,但它有一个让我感到惊讶的侧面效果:当我单击链接时,会打开一个新选项卡,其中包含良好的链接。但是主窗口也会加载好的网址。为什么它会打开一个新窗口?
编辑
根据要求的新代码:
$('#resultsDiv').on('click', '#seeTemplates', function (e) {
e.preventDefault();
alert("Clicked");
var ebayTemplate = $('#templates').val();
var url = '@Url.Action("SeeTemplateDetailsByName", "EbayTemplate")';
window.location.href = url + "?templateName=" + ebayTemplate;
});
我现在正在研究 2 种可能性:
- 代表能有这样的结果吗?
- 这是
windows.location.href
jquery 调用的正常行为吗?
试试这个,添加函数(e(和e.preventDefault((将停止浏览器的默认操作:
$('#resultsDiv').on('click', '#seeTemplates', function (e) {
var ebayTemplate = $('#templates').val();
var url = '@Url.Action("SeeTemplateDetailsByName", "EbayTemplate")';
window.location.href = url + "?templateName=" + ebayTemplate;
e.preventDefault();
});
我无法发表评论(由于这里很新(,所以你可能想尝试在那里添加e.preventDefault()
以防止/阻止默认操作(还有其他方法(
如果你想用JavaScript打开一个新标签,试试这个;
$('#resultsDiv').on('click', '#seeTemplates', function (e) {
// Prevent default action
e.preventDefault();
var ebayTemplate = $('#templates').val();
var url = '@Url.Action("SeeTemplateDetailsByName", "EbayTemplate")';
// Open in new tab
var win = window.open(url + "?templateName=" + ebayTemplate, "_blank");
// Focus on new tab.
win.focus();
});
我希望这有所帮助。
由于#seeTemplates
是链接(每个 OP 注释(,因此默认链接操作和自定义事件处理程序都在运行。为避免这种情况,您需要阻止链接的默认行为:
$('#resultsDiv').on('click', '#seeTemplates', function (e) {
e.preventDefault();
var ebayTemplate = $('#templates').val();
var url = '@Url.Action("SeeTemplateDetailsByName", "EbayTemplate")';
window.location.href = url + "?templateName=" + ebayTemplate;
});
您也可以将元素更改为其他类型(可能是<span>
(,并完全避免该问题。
相关文章:
- 如果sql查询成功,请打开一个新选项卡
- 在私人浏览中打开一个新选项卡
- 当主窗口是 chrome 时是否可以在 IE 中打开一个新选项卡 |ASP.Net
- 我想打开一个新选项卡而不是弹出窗口
- 打开一个新选项卡以在 AngularJS 中发出 http 请求
- 在按钮上单击弹出窗口并打开一个新选项卡窗口并在 JavaScript 中专注于它
- 在jQuery中创建的URL既重定向到又打开一个新选项卡
- 使用Javascript执行一个函数或打开一个新选项卡
- 模拟IFrame中的单击,以便打开一个新选项卡
- 如何在不制作另一个新选项卡或新浏览器窗口的情况下在同一网页中播放MPG视频/音频文件
- 是否可以在chrome的检查元素窗口中添加一个新选项卡
- 使用自定义html代码在浏览器中打开一个新选项卡.Javascript
- 如何在第二个位置添加一个新选项
- 如何打开一个新选项卡并在新选项卡上运行脚本后立即关闭它
- Firefox打开一个新选项卡,而不是javascript代码
- 如何在CasperJS中打开一个新选项卡
- 强制浏览器打开一个新选项卡
- 打开一个新选项卡,而不是一个新窗口
- 为什么这行代码没有打开一个新选项卡?
- 使用javascript打开一个新选项卡