在IE 8和asp.net更新面板中没有触发JQuery .click()事件

时间:2012-03-20 21:49:17

标签: jquery

大家好我所遇到的一个奇怪的问题是网站和点击事件上的一些jquery。 在IE 9中,firefox和chrome这个工作正常。但IE 8不会触发click事件。

这是一个包含在更新面板中的asp.net webform。 ]

aspx代码

<asp:UpdatePanel ID="searchupdatePanel" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <div id="search" class="searchcontainer">
            <asp:TextBox ID="tbsearchterm" CssClass="watermark" runat="server" />

            <a href="#" class="button big left" id="btnSave">Save</a> 

        </div>
    </ContentTemplate>
</asp:UpdatePanel>

在我的js文件中,我有以下代码包含在onPageLoad函数

function pageLoad() {
...
    //SimpleModal Save Dialog
    $(function () {
        $('#btnSave').click(function (e) {
            var searchtrm = $('#tbsearchterm').val();
            if (searchtrm == "Enter Search Term" || $.trim(searchtrm) === "") {

                $('#alert-modal-content').modal({ overlayClose: false, close: false, containerId: 'alert-container' });
                $('<b>Whoops!</b><br/><br/><span>Before you can save your search you need to enter a search term or query.</span>').appendTo('#alertTerm');

            }
            else {
                $('#txt_ssQueryText').val(searchtrm);
                $('#save-modal-content').modal({ appendTo: 'form', overlayClose: false, close: false, containerId: 'saveSearch-container' });
            }
        });

    });
}

正如我所说,这在IE 9中运行良好,但是8和更低,并且从未触及点击事件(在调试器中验证)。我已经看到一些其他帖子建议使用.on()事件,但我已经通过使用没有运气的类选择器测试了这一点。

尝试了这个,但它不起作用(工作意味着该功能从未被调用过。

$(function () {
    $('.btntestclass').on('click', 'a', function (e) {
        var searchtrm = $('#tbsearchterm').val();
        if (searchtrm == "Enter Search Term" || $.trim(searchtrm) === "") {

            $('#alert-modal-content').modal({ overlayClose: false, close: false, containerId: 'alert-container' });
            $('<b>Whoops!</b><br/><br/><span>Before you can save your search you need to enter a search term or query.</span>').appendTo('#alertTerm');

        }
        else {
            $('#txt_ssQueryText').val(searchtrm);
            $('#save-modal-content').modal({ appendTo: 'form', overlayClose: false, close: false, containerId: 'saveSearch-container' });
        }
    });

});

关于为什么这不是在8执行的任何建议?

提前致谢

1 个答案:

答案 0 :(得分:0)

您可以尝试在Internet Explorer开发人员工具中设置jQuery单击功能。 也许在$(document).ready()。

之前调用页面Load()函数