2017-04-10 106 views
1

我想檢查一下按鈕是否被點擊或不使用jQuery。使用jquery檢查按鈕是否被點擊

這是我在我的代碼

window.onbeforeunload = function() { 

jQuery(':button').click(function() { 
    if (this.id == 'click') { 
     alert('this button was clicked'); 
    } 
    else if (this.id == 'button2') { 
     alert('Button 2 was clicked'); 
    } 
}); 

}; 

這個JavaScript部分片斷是我使用測試功能

<button id="click">save</button> 

單擊按鈕時沒有任何反應的按鈕。請善意協助

+0

'jQuery('button')' – andrepaulo

+0

所以你在綁定事件後它被點擊.... – epascarello

+0

你爲什麼要在'onbeforeunload'設置一個點擊處理程序?當事件發生的時候,是不是幾乎沒有點擊按鈕之後的問題?你究竟想在這裏完成什麼? – David

回答

0

請嘗試以下方式:

jQuery(document).ready(function(){ 
 
    jQuery(':button').click(function() { 
 
    if (this.id == 'click') { 
 
     alert('this button was clicked'); 
 
    } 
 
    else if (this.id == 'button2') { 
 
     alert('Button 2 was clicked'); 
 
    } 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="click">save</button> 
 
<button id="button2">button2</button>

0

您在點擊後綁定事件。當onbeforeevent已經開槍時,點擊發生了。

您需要在該事件之外綁定它。

jQuery(function(){ 

    window.onbeforeunload = function() { 
     console.log(clicked); 
    }; 

    var clicked = null; 
    jQuery('button').on("click", function() { 
     clicked = this.id; 
    }); 

}); 
1

通過按鈕觸發的事件是在jQuery的代碼加載給定,所以你需要把它放在一個$(文件)。準備()

這將爲你工作:

$(document).ready(function(){ 
    $("#click").click(function(){ 
     //do stuff 
    }); 
}) 

在這裏您可以直接ADRESS按鈕的ID你的HTML看起來像:

<button id="click">save</button> 

這實際上是相同的:d

0
var clickedButtons = []; 
$('button').on('click', function(){ 
    if($.inArray($(this).attr('id'), clickedButtons){ 
    console.log('button allready clicked once'); 
    } else { 
    clickdeButtons.push($(this).attr('id')); 
    } 
}); 

該解決方案可以處理多個按鈕

相關問題