Javascript 随意打开窗户
我正在创建一个代码,它试图表现得像一个链接,而看起来像一个按钮。请求是能够单击按钮并在新窗口或同一窗口上打开,因此我使用ctrl作为参数来确定程序将采取的操作 需要以下测试用例 在searchField上键入,然后按enter键。 预期结果:打开同一页面上的链接 获得的结果:链接在同一页面上打开 键入searchField并单击链接 预期结果:打开同一页面上的链接 获得的结果:页面闪烁,页面未加载 键入searchField并按ctrl键,然后单击链接 预期结果:在新页面上打开链接 获得的结果:链接在新页面上打开 好的,结果表明,两种方法单击链接和按enter键都使用相同的方法,即searchfalse,但一种有效,另一种无效。为什么? 我已经尝试过使用window.location.href,我已经尝试过调试代码 谢谢你,除了window.location.href=link;在else中,外观和工作都很好: 函数searchnewWindow{ var searchInput=$searchField.attr'value'; 变量链接=./foobar/+searchInput; 如果是新窗口{ window.openlink,“u blank”; }否则{ window.location.href=link;// 搜索:Javascript 随意打开窗户,javascript,jquery,html,Javascript,Jquery,Html,我正在创建一个代码,它试图表现得像一个链接,而看起来像一个按钮。请求是能够单击按钮并在新窗口或同一窗口上打开,因此我使用ctrl作为参数来确定程序将采取的操作 需要以下测试用例 在searchField上键入,然后按enter键。 预期结果:打开同一页面上的链接 获得的结果:链接在同一页面上打开 键入searchField并单击链接 预期结果:打开同一页面上的链接 获得的结果:页面闪烁,页面未加载 键入searchField并按ctrl键,然后单击链接 预期结果:在新页面上打开链接 获得的结果:
function search(newWindow){
var searchInput = $("#searchField").attr('value');
var link = "foobar/"+searchInput;
if(newWindow){
window.open(link, '_blank');
}else{
window.open(link, '_self');
}
}
$(document).ready(function() {
$("#searchField").on('keypress', function(e) {
if(e.which == 13) {
search(false);
}
});
$("#searchButton").on('click', function(e) {
var newWindow = false;
if(e.ctrlKey){
newWindow = true;
}
search(newWindow);
});
});