我有一个应用程序,其中某些操作正在按钮的单击事件上发生。此外,我想在应用程序中的每一个上追加一个查询字符串。为此,我编写了一个jquery代码,如下所示: -
window.addEventListener('click', function(event) {
event.preventDefault();
var href = event.target.getAttribute("href");
if(href && href.indexOf('http') !== -1) {
timezone = jstz.determine()
window.location.href = href + '?jstz=' + timezone.name();
}
else
{
// re-enable default;
}
}, false);
代码阻止了每个点击事件的默认操作。然后检查事件生成器是否具有href属性。如果它具有href属性,则它会将当前客户端时区附加到URL中。
问题是,上面的代码阻止了每个可点击对象的点击事件。
event.preventDefault()
只用锚标签吗?答案 0 :(得分:0)
您可以在jquery选择器上使用事件侦听器实现逻辑:
$("#target").click(function(event) {
event.preventDefault();
var href = event.target.getAttribute("href");
// blah blah
});
这样,对于此示例,仅当带有id
目标的元素 单击时才会调用防止默认值。
有关jquery选择器的更多信息:https://www.w3schools.com/jquery/jquery_ref_selectors.asp