Кнопку нужно нажать дважды, чтобы запустить событие - PullRequest
3 голосов
/ 17 августа 2011

У меня есть простая кнопка ASP.NET внутри iFrame, по непонятной причине я должен дважды щелкнуть по ней, чтобы вызвать событие.

<asp:Button ID="btnSaveComment" runat="server" Text="Add Comment" 
            CssClass="button"
            OnClick="btnSaveComment_Click"
            ValidationGroup="add" />

protected void btnSaveComment_Click(object sender, EventArgs e)
{            
     AddComment();
}

Ответы [ 2 ]

4 голосов
/ 17 августа 2011

Я подозреваю, что когда вы первоначально щелкаете область над кнопкой, вы фокусируете iframe (то есть страницу внутри нее), и при втором щелчке мышь может взаимодействовать с кнопкой.

С другой стороны, если страница, кажется, отправляет сообщения назад, но фактически ничего не делает до второго щелчка, то это вполне может быть связано с жизненным циклом страницы, как это предлагается в комментариях к ответу @AndroidHustle.

Редактировать:

Чтобы проверить теорию, сфокусирован фрейм или нет, попробуйте выделить его с помощью скрипта.Может помочь что-то вроде следующего:

<script type="text/javascript">
    document.getElementById("iFrameId").focus();
</script>
0 голосов
/ 09 мая 2013

У меня была такая же проблема. Вот как я это решил:

        $("#MainContent_Button1").hover(function (event) {
            $("#MainContent_Button1").click()
        });

Теперь это занимает всего 1 щелчок, и кнопка работает так, как и должна.

<asp:Button ID="Button1" runat="server" Text="Save Payment Plan" OnClick="Button1_Click" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...