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

时间:2012-03-19 14:07:37

标签: 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()之类的操作/ p>

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

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

self.onBlur = function()...

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

我知道如果我使用自定义绑定,例如ko.bindingHandlers.myBinding那么“元素”被直接传递到“初始化”的“更新”,并呼吁,我就可以使用调用的jQuery(元).colourFade(),但是这更多的是一个锻炼的了解如何使用标准事件绑定,因为我能想象我会需要经常和不希望尽一切自定义绑定,并且还具有自定义绑定内唯一的“初始化”和“更新”选项来访问元素(据我所知),我不认为这些就足够了(例如什么关于“KEYUP”?)反正,自定义绑定似乎是基于ko.observable而不是事件本身。

摘要:

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

1 个答案:

答案 0 :(得分:8)

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

self.onBlur = function(data, event) {
    console.log(event.target);
}