这是我的JavaScript代码:
$(".filter").on('click', function (e) {
var filterFunction = $(this).data('strength');
console.log(filterFunction); // Outputs brightness(10)
Caman('#canvas', function () {
this.filterFunction.render();
});
});
这是我遇到的确切错误: Uncaught TypeError: Cannot read property 'render' of undefined
我想使用一块代码来处理所有过滤器。在尝试上述代码之前,实际代码是:
$brightness.on('click', function (e) {
Caman('#canvas', function () {
this.brightness(10).render();
});
});
但是,这样,我将不得不为每个过滤器创建一个不同的处理程序。我想避免。谁能帮我解决这个错误?
这是上下文时的上下文,因此,当您需要执行该代码
时,就不必手动触发事件代码,而不是再次运行事件。$(".filter").on('click', function (e) {
$brightness.trigger('click'); //trigger manually click event of $brightness also keep the $brightness handler as it is written
});