我正在尝试调试第三方脚本。
在Chrome中运行良好。但Firefox不会注册onclick事件。
任何想法为什么FireFox不会玩得很好?
我尝试按照建议here添加return false;
,但它不起作用,并补充说,在最后一个结束括号上方只会在控制台中查看时产生更多错误。
function ac_event(event, eventdata) {
return ajax({
url: activecampaignevent.ajax_url,
type: 'POST',
data: {
action: 'ac_event',
event: event,
eventdata: eventdata
},
success: function (response) {
console.log('response', response);
}
});
function ajax(options) {
var request = new XMLHttpRequest();
var url = options.url;
var data = encodeData(options.data);
if (options.type === 'GET') {
url = url + (data.length ? '?' + data : '');
}
request.open(options.type, options.url, true);
request.onreadystatechange = onreadystatechange;
if (options.type === 'POST') {
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.send(data);
} else {
request.send(null);
}
return;
function onreadystatechange() {
if (request.readyState === 4 && request.status === 200){
options.success(request.responseText);
}
}
function encodeData(data) {
var query = [];
for (var key in data) {
var field = encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
query.push(field);
}
return query.join('&');
}
}
}
<a href="https://somelink.com/" onclick="ac_event('Link Clicked', 'Some Link');">Click this link to test</a>
答案 0 :(得分:0)
您可以在javascript中创建事件,并使用browserDefault将其分配给浏览器事件。
document.querySelector("#LinkID").addEventListener("click", function(event){
//do your code here
alert("preventDefault will stop you to go")
event.preventDefault();
}, false);