Показать сообщение отдельно
  #2 (permalink)  
Старый 21.10.2018, 19:06
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,713

Сообщение от ReadyStady
Есть ли способ передавать в этот обработчик значение из переменной someVar и значение свойства this.someParam?
Используйте стрелочную функцию!

Сообщение от ReadyStady
Сейчас сюда передается некий объект. Предполагалось, что здесь будет значение "Test"
Так используйте другое имя в списке аргументов!

Сообщение от ReadyStady
$(this).data('test')
Для того чтобы такое работало, ваш класс должен быть подклассом jQuery, но когда Джон Резиг разрабатывал свою библиотеку, он не подумал о том, что кому-то в будущем понадобится наследовать от jQuery. Есть ли надежда, что jQuery 4 будет более близка к концепциям JavaScript? Я не знаю, но знаю, что сейчас лучше использовать Web Components или React. Или заменить эту строчку $(this).data('test') на эту this.elementsome.data('test')

<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
<button class="TestButton" data-test="TestValue">Тестовый клик</button>
<script>

class Test{
	constructor(){
		this.someParam = '123';
		this.elementsome = $('.TestButton');
		this.initEvent();
	}

	initEvent(){
		var someVar = 'Test';
		
		this.elementsome.on('click', _ => {
				console.log(this.elementsome.data('test')); 
				console.log(someVar);
				console.log(this.someParam);
			}
		);
	}
}

new Test();

</script>
Ответить с цитированием