我試圖調試第三方腳本。Firefox onClick事件不起作用
它在Chrome中正常工作。但Firefox不會註冊onclick事件。
任何想法爲什麼FireFox不會很好玩?
我試着加return false;
作爲建議here但它沒有奏效,並補充說,在最後一個右括號之上在控制檯中查看時會產生更多的錯誤。
\t function ac_event(event, eventdata) {
return ajax({
url: activecampaignevent.ajax_url,
\t \t type: 'POST',
data: {
\t \t \t action: 'ac_event',
\t \t \t event: event,
eventdata: eventdata
\t \t },
\t \t success: function (response) {
\t \t \t console.log('response', response);
\t \t }
});
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>
代碼太舊了。你爲什麼不使用像jQuery這樣的庫?你永遠不會取消''鏈接的默認事件。考慮使用'event.preventDefault()'。 – Raptor
@Raptor這不是我的代碼。 JavaScript並不是我的強項。我只是試圖修理一些有天賦的東西給我。你能提供更新的代碼來解決問題嗎? – bennygill