Попадание по нажатию на событие нажатия ImageButton в ASP.NET - PullRequest
0 голосов
/ 05 января 2011

У меня есть настройка ImageButton, где в событии OnInit я устанавливаю событие Click

btnJoinNow.Click += new ImageClickEventHandler(btnJoinNow_Click);

На стороне клиента я настроил событие нажатия jQuery, которое должно запускать событие отслеживания удара только при нажатии кнопки. Проблема у меня заключается в том, что кажется, что событие кнопки бьет JavaScript, а не отслеживание. Мне нужно сделать паузу в 1 секунду, прежде чем событие imagebutton сработает на стороне сервера.

Я пробовал следующее, но всегда срабатывает. Я также пробовал e.preventDefault (), но это полностью останавливает обратную передачу.

$("input[id$='btnJoinNow']").click(function(e) {
    Spots.HitWise();

    setTimeout(function(){
    }, 5000);
});

EDIT:

Единственный способ заставить это работать, это сделать следующее:

$("input[id$='btnJoinNow']").click(function(e) {
    Spots.HitWise();

    setTimeout(function(){
       $("input[id$='btnJoinNow']").unbind('click').bind('click', function(e){});
    }, 1000);

    return false;
});

Это затем дает достаточно времени для отслеживания события HitWise, затем очищает событие click и снова вызывает себя.

1 Ответ

1 голос
/ 05 января 2011

использование OnClientClick

<asp:ImageButton id="btnTest" runat="server" 
      OnClientClick="javascript:FireHitwise();" .../>

<script type="text/javascript">
function FireHitwise(){
    Spots.Hitwise();
    return true;//returning false will not fire server side handler
}
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...