Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.02.2015, 13:16
Интересующийся
Отправить личное сообщение для forcej Посмотреть профиль Найти все сообщения от forcej
 
Регистрация: 27.02.2015
Сообщений: 12

метод click внутри объекта
Здравствуйте, объясните пожалуйста наглядно почему в данном примере событие click отказывается работать и как правильно реализовать подобный механизм внутри объекта?

function Dobj(d_class) {
    
    this.dTitle = $(d_class + " h1")
    this.dBody = $(d_class + " p")

    $(this.dTitle).click(this.move)

    this.move = function() { 
      $(this.dBody).hide()
    }
     
}


$( document ).ready(function() {        
  var d = new Dobj(".d_class")
});
Ответить с цитированием
  #2 (permalink)  
Старый 27.02.2015, 13:24
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

forcej, встречные вопросы...

К чему такие "связки"?
this.dTitle = $(d_class + " h1")
// и
$(this.dTitle).click() 
///
this.dBody = $(d_class + " p")
// и
$(this.dBody).hide()

Откуда появилось?
this.move


И где полный тестовый пример?
Ответить с цитированием
  #3 (permalink)  
Старый 27.02.2015, 13:40
Интересующийся
Отправить личное сообщение для forcej Посмотреть профиль Найти все сообщения от forcej
 
Регистрация: 27.02.2015
Сообщений: 12

Сообщение от ksa Посмотреть сообщение
forcej, встречные вопросы...

К чему такие "связки"?
this.dTitle = $(d_class + " h1")
// и
$(this.dTitle).click() 
///
this.dBody = $(d_class + " p")
// и
$(this.dBody).hide()

Откуда появилось?
this.move


И где полный тестовый пример?
Связки для того что бы в дальнейшем можно было наследовать от Dobj имея в потомках базовые свойства которых будет больше. this.move определяется ниже, такая запись не корректна для конструктора? к слову если вызывать click после определения move он по прежнему не работает. Это полный тестовый, остальное пока в голове

Последний раз редактировалось forcej, 27.02.2015 в 13:42.
Ответить с цитированием
  #4 (permalink)  
Старый 27.02.2015, 13:44
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от forcej
this.move определяется ниже, такая запись не корректна?
Этого свойства на тот момент просто нет.

Сообщение от forcej
Связки для того что бы в дальнейшем можно было наследовать от Dobj
Т.е. дважды совать элемент-жиквери в жиквери эт так надо для наследования?
Сообщение от forcej
Это полный тестовый, остальное пока в голове
Это просто огрызок кода и не более того...
Ответить с цитированием
  #5 (permalink)  
Старый 27.02.2015, 13:51
Интересующийся
Отправить личное сообщение для forcej Посмотреть профиль Найти все сообщения от forcej
 
Регистрация: 27.02.2015
Сообщений: 12

<html> 
     <head> 
          <title>html для примера</title>  
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
         <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
         <script src="script.js"></script>         
     </head> 
     <body>     
          <div class="d_class"> 
              <h1>TITLE</h1>
               <P>
                   содержимое<br>
              </P>
          </div>          
     </body> 
</html>


function Dobj(d_class) {
    this.cont = $(d_class)
    this.dTitle = this.cont.find("h1")
    this.dBody = this.cont.find("p") 

    this.move = function() { 
      $(this.dBody).hide()
    }
     
    $(this.dTitle).click(this.move)
}


$( document ).ready(function() {        
  var d = new Dobj(".d_class")
});



Хорошо, понял вас. Исправил то о чём вы говорите, почему этот огрызок не работает теперь при инициализации экземпляра d? и как сделать правильно, чтобы заработал ?)

Последний раз редактировалось forcej, 27.02.2015 в 14:10.
Ответить с цитированием
  #6 (permalink)  
Старый 27.02.2015, 14:09
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от forcej
почему этот огрызок не работает теперь при инициализации экземпляра d?
По огрызкам не всегда понятно почему они не работают... Ты в состоянии сделать полный тестовый пример?

Что ты вообще собираешься замастырить?
Ответить с цитированием
  #7 (permalink)  
Старый 27.02.2015, 14:21
Интересующийся
Отправить личное сообщение для forcej Посмотреть профиль Найти все сообщения от forcej
 
Регистрация: 27.02.2015
Сообщений: 12

Сообщение от ksa Посмотреть сообщение
По огрызкам не всегда понятно почему они не работают... Ты в состоянии сделать полный тестовый пример?
Что ты вообще собираешься замастырить?
Ну конечно, в состоянии. Просто скажи что ты подразумеваешь под полным тестовым?) На данном этапе я собираюсь сделать несколько классов потомков, которые будут работать с похожими html данными но немного отличаться в поведением. Например переопределю move для двух других потомков, чтобы они скрывали <p> иначе.
Ответить с цитированием
  #8 (permalink)  
Старый 27.02.2015, 14:22
Интересующийся
Отправить личное сообщение для forcej Посмотреть профиль Найти все сообщения от forcej
 
Регистрация: 27.02.2015
Сообщений: 12

Сообщение от ksa Посмотреть сообщение
По огрызкам не всегда понятно почему они не работают...
Мне бы понять почему click не хочет работать внутри объекта.
Ответить с цитированием
  #9 (permalink)  
Старый 27.02.2015, 14:24
Интересующийся
Отправить личное сообщение для forcej Посмотреть профиль Найти все сообщения от forcej
 
Регистрация: 27.02.2015
Сообщений: 12

Сообщение от ksa Посмотреть сообщение
полный тестовый пример
в плане загрузить всё это барахло на какой-нибудь тестовый сервис? дык, сейчас сделаю.
Ответить с цитированием
  #10 (permalink)  
Старый 27.02.2015, 14:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,202

Сообщение от forcej
Мне бы понять почему click не хочет работать внутри объекта.
А я пока не в стоянии даже потестить твое изобретение...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие внутри функции или объекта shaltay Общие вопросы Javascript 2 27.06.2013 18:05
Как обратиться к переменной внутри объекта, в произвольной функцию через его метод platedz Элементы интерфейса 15 25.08.2012 00:03
Как узнать у какого объекта вызван метод. Scalar Events/DOM/Window 4 26.03.2010 11:10
Как по событию вызвать метод определенного экземпляра объекта jvs jQuery 3 24.12.2009 16:04
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00