Jquery 将单击事件绑定到Google自定义搜索结果
我正在使用谷歌自定义搜索来获取搜索查询的结果。结果很好。我现在需要捕获生成的结果上的单击事件。 到目前为止,我已经尝试了以下方法:Jquery 将单击事件绑定到Google自定义搜索结果,jquery,google-custom-search,Jquery,Google Custom Search,我正在使用谷歌自定义搜索来获取搜索查询的结果。结果很好。我现在需要捕获生成的结果上的单击事件。 到目前为止,我已经尝试了以下方法: <script> (function () { window.__gcse = { callback: myCallback }; function myCallback() { $('input.gsc-input').keyup(function
<script>
(function () {
window.__gcse = {
callback: myCallback
};
function myCallback() {
$('input.gsc-input').keyup(function (e) { if (e.keyCode == 13 || e.which == 13) { console.log('enter pressed'); } });
$('input.gsc-search-button').on('click', function (e) { console.log('clicked'); });
$('a').on('click', function (e) {
alert();
e.preventDefault();
e.stopPropagation();
debugger;
var obj = $(this);
});
}
var cx = 'my-gcse-id';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<gcse:search linktarget="_parent" enableAutoComplete="true"></gcse:search>
上面给出了控制台在单击输入搜索框和按钮时的日志,而不是在单击搜索结果中的链接时的日志。
我还尝试了window.load和document.ready,但无法使其正常工作
<script>
$(window).on("load", function () {
$('#gsc-i-id1').css('background', '');
$('#gsc-i-id1').on("blur", function (e) {
$(this).css('background', '');
});
$("a").on("click", function (e) {
alert();
e.preventDefault();
debugger;
var obj = $(this);
});
});
$(document).ready(function () {
$('#gsc-i-id1').css('background', '');
$("a").on("click", function (e) {
e.preventDefault();
debugger;
var obj = $(this);
});
});
</script>
各位专家,请帮助我实现这一目标。您的代码对我很有用,、、,,,!!您只需将调用添加到a.clicked上的警报 这意味着在代码中可以找到下面的代码片段
$(window).on("load", function () {
$('#gsc-i-id1').css('background', '');
$('#gsc-i-id1').on("blur", function (e) {
$(this).css('background', '');
});
$("a").on("click", function (e) {
alert();
e.preventDefault();
debugger;
var obj = $(this);
});
});
并将其替换为
$(window).on("load", function () {
$("a").on("click", function (e) {
alert();
e.preventDefault();
debugger;
var obj = $(this);
});
});
我必须提到,我没有使用默认的谷歌自定义搜索模板,我制作了自己的搜索框,我使用的是两列模板,所以在我的情况下,窗口永远不会模糊,,,我很确定你现在一定已经明白了..哈哈
在使用ti一段时间后,我意识到它适用于没有广告的结果页面。如果你有带有广告的页面,当你点击广告时。。广告文本在一个范围内,所以这就是为什么.onclick事件没有停止解除行为的原因对不起,但是,您所做的更改是什么?我不知道。这两种背景陈述根本不相关。可能是因为您没有使用默认的自定义搜索模板,所以它对您有效。不管怎样,很高兴它对你有用!