Сообщение от 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>