我需要拦截页面上的点击并执行一些验证逻辑并让流程继续。
我有一个链接:
<a data-link="true">Link</a>
Js拦截:
$("a[data-link='true'").off("click.link").on("click.link", (event) => this.validate(event));
在验证功能中我只做了一些验证,我需要继续处理请求。
如何拦截点击,如果验证没问题,请继续原始请求?
感谢。
答案 0 :(得分:0)
如果data
选择器更通用,那么$(function(){
// Listen for data link in general
$('a[data-link]').on('click',function(e){
// Stop all request
e.preventDefault();
// Get the link href
var hrefPath = $(this).attr('href');
// If the data-link is set to true
if($(this).data('link') === true) {
// Do your validation here, not sure if your validation function
// works or not, but here is where you apply it
var valid = true;
// If failed, set the default path to empty
if(!valid)
hrefPath = false;
// If the path is not empty, go to the default path
if(hrefPath !== false)
window.location = hrefPath;
// Stop
return false;
}
// If the link is not true, just go to the default path
window.location = hrefPath;
});
});
选择器可能会做得更好:
answer()