用jQuery里面的淘汰赛事件检索元素

Nin*_*oel 5 jquery knockout.js

我一直在用jQuery玩knockout.js,而且我对knockout.js很新

我的代码示例和代码在这里:http://jsfiddle.net/Ninjanoel/ADYN6/

基本上,我正在尝试创建一个彩票数字输入屏幕作为我的知识测试,我现在正在尝试验证文本框的输入,然后将特殊效果应用于输入框,如果[onBlur],文本框无效.

我有一个'LotteryApp',有一个可观察的'Lines'数组,有一个正常的[5] ko observable数组作为我的输入或'Number Boxes'.我正在使用模板显示每个'Line',并在其中使用另一个模板来渲染'Boxes'.

我想要的是如果输入不正确,可能会在文本框上调用jquery'color fade'插件[red to bg color].但是在我创建的'onBlur'函数中,我无法找到传递给函数的任何参数中的任何内容来帮助我调用类似的东西myTextBox = jQuery(arguments.something),这样我就可以做类似的事情了jQuery(myTextBox).colourFade()

<input type="text" data-bind="value:n, event:{blur: $parent.onBlur }, uniqueName:true, disable: $parent.isLD" class="lotteryNumber" maxlength="2"/>
Run Code Online (Sandbox Code Playgroud)

是我处理onBlur的最里面模板中的代码.

self.onBlur = function()...
Run Code Online (Sandbox Code Playgroud)

是我希望在'模糊'事件上调用的函数.

我知道如果我使用自定义绑定,ko.bindingHandlers.myBinding那么'element'会直接传递给'update'和'init'调用,然后我可以用来调用jQuery(element).colourFade(),但这更多了解如何使用标准事件绑定访问元素的练习,因为我可以想象我经常需要它并且不希望在自定义绑定中执行所有操作,并且只使用'init'和'update'自定义绑定中的选项(据我所知),我不认为那些就足够了(例如'keyup'怎么样?),无论如何,自定义绑定似乎是基于ko.observable而不是事件本身.

摘要:

在使用时data-bind="event : {blur : myMethod}",我如何在内部myModel.myMethod抓取创建事件的html元素.

Dou*_*las 8

jQuery event对象是事件处理程序中的第二个参数,因此:

self.onBlur = function(data, event) {
    console.log(event.target);
}
Run Code Online (Sandbox Code Playgroud)