我在每个表行中都有一个链接,可以更详细地查看记录。我想添加方法来查看我们为每条记录生成的不同pdf
,而不会过多地增加表格。我针对不同的点击条件绑定了不同的事件,但我遇到了一些问题。首先,它不会像通常从硬链接那样转到pdf
,而是打开保存对话框。其次,一旦我告诉它不保存,该页面将不会遵循任何pdf
链接。我究竟做错了什么?我认为防止默认可能会阻止chrome
在看到按键+点击时执行特殊活动,我甚至不确定这是一个问题。奇怪的是,在我(例如ctrl-click
之后,页面将不会执行任何操作,但mouseover
会将'href'显示为ctrl-click
修改后的位置,并在此之后定期点击做我想做的事情。
查看代码,我可以看到为什么它正在做它正在做的事情。防止默认会阻止chrome保存,就像我想要的那样。 href发生了变化,就像我告诉它的那样。现在我必须按照链接。如果我在得到任何回复之前偶然发现了答案,我会回答。
$(".doThings").click(function(e){
var ID = $(this).text();
if(e.ctrlKey){
event.preventDefault();
$(this).attr("href", "http://foo.com/report.php?id="+ID);
}
else if(e.altKey) {
event.preventDefault();
$(this).attr("href", "http://foo.com/r30.php?id="+ID);
}
else if(e.shiftKey) {
event.preventDefault();
$(this).attr("href", "http://foo.com/r45.php?id="+ID);
}
});
答案 0 :(得分:1)
改为使用window.location.href
。
$(".doThings").click(function(e){
var ID = $(this).text();
if(e.ctrlKey){
event.preventDefault();
window.location.href = "http://foo.com/report.php?id="+ID;
}
else if(e.altKey) {
event.preventDefault();
window.location.href = "http://foo.com/r30.php?id="+ID;
}
else if(e.shiftKey) {
event.preventDefault();
window.location.href = "http://foo.com/r45.php?id="+ID;
}
});
答案 1 :(得分:0)
改变href不是要走的路。我只是做了一个javascript重定向。
if(e.ctrlKey){
e.preventDefault();
window.location = ("http://foo.com/report.php?id="+ID);
}