2014-02-13 5 views
1

Это часть моего рабочего кодавызова Две функции OnClientClick

<asp:LinkButton ID="lnkDel1" Text="Delete" runat="server" OnClientClick="return confirm('Delete this alert?','Confirm');" onClick="lnkDelete1_Click" CssClass="del_lnk" CommandArgument='<%#Eval("ID").ToString()%>' /> 

Теперь я хочу, чтобы вызвать другую функцию bindBlockUI();, которые блокируют пользовательский интерфейс при клике, поэтому пользователь может не нажать еще раз.

Теперь его производящая оповещения с двумя кнопки Нет и Confirm, когда я нажимаю на Нет бездельников случаются, но на какое-то событие подтверждают называется.

Я хочу заблокировать пользовательский интерфейс, как только пользователь нажмет на подтверждение из окна оповещений.

Как достичь этого.

+0

Таким образом, в основном вы хотите вызвать 'bindBlockUI' сразу после' подтверждения'? – plalx

+0

Да, именно так я хочу это сделать –

+0

Есть тонны плагинов blockui jquery, например, http://malsup.com/jquery/block/ – Ming

ответ

1

Теперь я сделал что-то вроде этого и его работу отлично. Он также не запускает основную функцию при аннулировании из окна предупреждения. Хотя спасибо за ответ beacause ваши ответы приводит меня к этому ответу

function clearItem() 
{ 
    var result = confirm('Delete this alert?', 'Confirm'); 
    if (result) { 
     bindBlockUI(); 
     return true; 
    } else { 
     return false; 
    } 
} 
0

сначала определить общую функцию:

function myFunction(){ 
var o=confirm('Delete this alert?','Confirm'); 
bindBlockUI(); 
return o; 
} 

Теперь называют это так:

<asp:LinkButton ID="lnkDel1" Text="Delete" runat="server" OnClientClick="return myFunction();" onClick="lnkDelete1_Click" CssClass="del_lnk" CommandArgument='<%#Eval("ID").ToString()%>' /> 
+0

теперь даже после отмены от оповещения поля моего главное события стрельбы –

+0

Проверьте мои ответы –

0

Было бы весьма легче читать, если вы определяете функцию.

function onClientClick() { 
    var result = confirm('Delete this alert?','Confirm'); 
    bindBlockUI(); 
    return result; 
} 

Тогда: OnClientClick="return onClientClick();"

Но вы действительно должны избегать использования встроенных обработчиков в пользу addEventListener.

document.getElementById('lnkDel1').addEventListener('click', onClientClick); 

Однако, если вы используете addEventListener необходимо немного изменить код, чтобы предотвратить событие по умолчанию от fireing.

function onClientClick(e) { 
    if (!confirm('Delete this alert?','Confirm')) e.preventDefault(); 
    bindBlockUI(); 
} 
+0

мат я ответил, что первый –

+0

я буду, но теперь даже после отмены из окна предупреждения мое главное событие стрельбы –

+0

@ user3049290 Извините, я добавил дополнительные замечания. – plalx

Смежные вопросы