設定this的上下文時遇到問題。根據您目前的實作,this指的是視窗而不是調用該事件的元素。
您需要設定上下文正确,這可以通過多種方式實作。
使用.call()
function btnClick() {
var btnText = this.textContent || this.innerText;
console.clear();
console.log("calling AJAX PHP with POST value of the button pressed textContent = " + btnText);
}
Quercus petraea
Betula pendula使用bind()
function btnClick() {
var btnText = this.textContent || this.innerText;
console.clear();
console.log("calling AJAX PHP with POST value of the button pressed textContent = " + btnText);
}
Quercus petraea
Betula pendula将this傳遞給btnClick函數并使用參數
function btnClick(elem) {
var btnText = elem.textContent || elem.innerText;
console.clear();
console.log("calling AJAX PHP with POST value of the button pressed textContent = " + btnText);
}
Quercus petraea
Betula pendula
但是我建議你擺脫内聯點選處理程式并使用不顯眼的事件處理程式
function btnClick() {
var btnText = this.textContent || this.innerText;
console.clear();
console.log("calling AJAX PHP with POST value of the button pressed textContent = " + btnText);
}
document.querySelectorAll(".button").forEach(function(element) {
element.addEventListener('click', btnClick);
})
Quercus petraea
Betula pendula