С одним Javascript для всего сайта, установленным на главной странице, как выполнить функцию JS только для одной (или 2) страницы Chlid - PullRequest
0 голосов
/ 16 ноября 2010

Я работаю на веб-сайте .net только с одним Javascript (пока).Поскольку мне сказали, что Single JS обеспечивает лучшую производительность и т. Д. Во-первых, какие-либо предложения по инфраструктуре JS, какие-либо статьи с острыми краями?

Во-вторых, я столкнулся с некоторыми проблемами, когда пытался вызвать функцию JS только для ребенкастр.Я пытался что-то вроде:

1. Я хочу, чтобы после функции page_load (т.е. ispostback) * exe функция

$("#div_ID").ready

2.exe функция после обратной передачи страницы (выпадающий список назад в updatepanel)

pgRegMgr.add_beginRequest(BeginHandler)

function BeginHandler()
{$(".DDL_ClassName").change(function{.....});
}

Оба не работают.Система не распознает div или DDL.Я не могу установить функцию в $ (document) .ready или .add_beginReqest () в 'master' JS, это вызовет ошибки на других страницах.Какие-либо предложения?или мне нужно перейти на несколько файлов JS?

Более того, вместо написания встроенного JavaScript, я использую

$(document).ready(function{textchange});

function textchange(function { $(".textbox_class").change(.....)});

Он работает в Chrome и т. д., но не для IE 7 (мб IE8 тоже)

Кто-нибудь может мне помочь?

Большое спасибо.

1 Ответ

0 голосов
/ 16 ноября 2010

Есть несколько способов сделать это.

Лично я не вижу ничего плохого в том, чтобы на каждой странице было $ (document.ready (). Храните все свои функции в одном .jsфайл, но это довольно удобно (и все еще легко), чтобы просто иметь несколько простых функций инициализации на каждой странице. В этом случае вы бы сделали то же самое, что у вас было:

//On the single page you want the function called on
$(document.ready(function() {
     textchange();
});

Если вы не хотитечтобы иметь $ (document) .ready () на своей дочерней странице, вы можете использовать оператор if в своем файле .js. Используйте window.location.pathname, чтобы получить путь к вашему файлу, и сравните его с тем, каким он должен быть.для вашей дочерней страницы. Ваш код может выглядеть следующим образом:

//In your main .js file
$(document).ready(function() {
     if(window.location.pathname == "/childPage.htm")
          textchange();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...