[英]How to handle click event in jquery for a button?
我有一個網格視圖,其中我有一個按鈕,用於刪除網格視圖中的特定行,使用GridView_RowDeleting()事件。
因此,當該特定行獲得渲染時就是這樣
<input type="button" value="Delete" onclick="javascript:__doPostBack('ctl00$ContentPlaceHolderBodyMasterPage$grdvwUsers','Delete$0')" class="delete" />
刪除功能正常。
但我想在此按鈕上顯示確認消息,單擊是否刪除用戶。 為此,我添加了查詢代碼以顯示確認消息,但那不起作用,不知道為什么,
$(".delete").click(function(e) {
// code for displaying the confirmation dialog
});
請幫幫我,謝謝!
還沒有測試它,但嘗試了
$(".delete").click(function() {
return confirm('Are you sure?');
});
......它應該工作;)
問題是回發是在點擊處理程序之前執行的。 以下工作,但它是丑陋的( 測試代碼在這里 ):
$(function () {
var $button = $(".delete");
var command = $button.attr('onclick'); // Keep the inline command
$button.removeAttr('onclick'); // Clear the inline onclick
$button.click(function() {
if (confirm('Are you sure?')) {
eval(command.replace('javascript:', '')); // Call the stored command
}
});
});
我建議使用Ajax Control Toolkit中的Confirm Button Extender
你在元素中定義一個處理程序:
<input type="button" value="Delete" onclick="javascript:__doPostBack('ctl00$ContentPlaceHolderBodyMasterPage$grdvwUsers','Delete$0')" class="delete" />
你必須把這個動作放在jquery點擊功能中
使用最新版本的jQuery的API,它將是這樣的:
$("#myButton").on('click', function () {
// do stuff
});
我將我的click事件掛鈎到jQueryUI對話框彈出窗口然后確認觸發刪除功能。
$("#ConfirmDialog").dialog({
title: "Confirm",
modal: true,
resizable: false,
hide: "fade",
autoOpen: true,
width 100,
height: 100,
buttons:
{
"Yes Delete It":function(){
// Delete function here
$(this).dialog("close");
},
"No, Don't Delete":function() {
$(this).dialog("close");
}
}
});
這樣做可以讓你對彈出窗口有更多的控制權,讓它看起來像是網站的一部分而不是javascript警告框。
我懷疑__doPostBack函數正在執行並阻止您的代碼執行。 您可以使用裝飾模式並包裝現有的__doPostBack,以確保您的代碼在回發之前有機會執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.