簡體   English   中英

如何在jquery中處理按鈕的click事件?

[英]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,以確保您的代碼在回發之前有機會執行。

在ASP.NET中,如何在客戶端上掛鈎回發事件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM