пространство имен javascript в пользовательском управлении

#asp.net

#asp.net

Вопрос:

Я создал ползунок jquery usercontrol в asp.net с помощью ползунка пользовательского интерфейса jquery. Пользовательский элемент управления имеет некоторые функции javascript для установки значения ползунка при изменении значения текстового поля на главной странице. Все работает нормально, если у меня есть только usercontrol. Но если у меня есть несколько пользовательских элементов управления, я не уверен, как использовать пространство имен javascript, чтобы он вызывал функцию внутри конкретного пользовательского элемента управления.

Спасибо, Шридхар.

Комментарии:

1. Не могли бы вы опубликовать (краткий) пример того, что вы делаете?

2. У меня есть функция javascript setSliderValue (новое значение) внутри usercontrol. Из события textchange на странице я получаю текстовое значение и вызываю setSliderValue(новое значение), и это вызывает функцию javascript. Но если у меня есть два пользовательских элемента управления, то оба они имеют функцию setSliderValue(). итак, когда я вызываю setSliderValue(новое значение), он вызывает последнее значение.

Ответ №1:

Я бы предложил объектно-ориентировать ваш код — что-то вроде этого (очевидно, что это всего лишь псевдокод …)

 function Slider(parentElement, id){
   var element = ... // get / create your element here
   // attach appropriate event listeners here...
   element.onclick = function(){
       //event handling code...
   }
   this.setValue = function(value){
      // set value of element
   }
   this.getValue = function(){
       //get value of element
   }
}
var sliderA = new Slider(document.getElementById('anElement'));
var sliderB = new Slider(document.getElementById('anotherElement'));