我正在尝试在按下“enter”键时从google.com捕获搜索查询。
我使用以下代码来测试事件是否实际被触发:
$(document).keypress(function(e) {
if(e.which == 13) {
alert('You pressed enter!');
}
});
当焦点位于查询框中时,这不起作用,但工作正常,否则我认为这是因为自动完成的JS没有冒泡出事件?任何想法可能会发生什么,以及如何在焦点位于查询框时触发按键事件,这是输入查询时的情况?
答案 0 :(得分:0)
您可以尝试$(window).on('keyup', function() {});
您可以将相同的处理程序绑定到搜索输入。
答案 1 :(得分:0)
使用“hashchange”事件 触发“自动完成JS”时会触发它
$(window).on("hashchange", function() {
var query = getKeywordsFromUrl(document.location.href);
} );
function getKeywordsFromUrl(href) {
var reStr = "google.com/search.*[&?]q=(.*?)(&.*)?$";
var rx = new RegExp(reStr, 'm');
if (rx.test(href)) {
var parts = rx.exec(href);
if (parts[1]) {
var terms = decodeURI(parts[1]).split("+");
return terms;
}
}
return null;
}