在特定内容页面的母版页中禁用jquery?

时间:2012-01-12 19:22:28

标签: c# jquery asp.net

我有这个代码警告用户未保存的更改,并且它位于我正在处理的网站的MasterPage中。我有一个搜索页面,不允许用户保存任何内容,它会触发未保存的更改警告。有没有办法禁用这个内容页面的代码?

var _changesMade = false;
$(document).ready(function () {

    $('form').bind($.browser.msie ? 'propertychange' : 'change', function () {
        _changesMade = true;
    });

    $(window).bind('beforeunload', function () {
        if (_changesMade)
            return 'There are unsaved changes which will be lost if you continue.';
    });
});

3 个答案:

答案 0 :(得分:1)

您可以使用not method排除搜索表单。

$('form').not('#searchForm').bind($.browser.msie ? 'propertychange' : 'change', function () {
    _changesMade = true;
});

鉴于搜索表单的标识为searchForm

答案 1 :(得分:0)

为该页面提供唯一标识符,无论是class中的id还是body,还是该页面唯一的某个元素。

例如:

<强> HTML

<body class="my_content_page" id="my_content_page">

<强> JS

if(!$('body').is('.my_content_page')) {
    //your code
}

if(!$('body').is('#my_content_page')) {
    //your code
}

或任何无数方式:hasClass()$('selector').length

答案 2 :(得分:0)

您可以在ContentPlaceHolder的标题中添加MasterPage,这样您就可以轻松地在这些内容页面上添加所需的脚本资源。通过这种方式,您可以在此内容页面上添加或不添加jquery脚本。

祝你好运!