0

我想知道是否有一种方法可以获取在 jsViews 中触发 onBeforeChangeEvent 函数的当前元素。我想得到它正在处理的当前元素,在它上面做一些额外的 jQuery 工作。

一个基本的例子如下:

  $.views.helpers({
    onAfterChange: function (ev)
    {

        //want to get element instance right here as an example.....
        if (!PageSettings.cancelUpsert && ev.type == "change")
        {
             //do somthing to element that is currently being processed.
        }
    }
  });

我搜索了返回的对象,但可以找到一种稳定的方式来获取元素。任何关于在哪里寻找的想法或提示将不胜感激。谢谢!

4

1 回答 1

1

如果您正在寻找一个数据链接元素,例如 input: <input data-link="..." />,其更改事件触发了更改,您可以从this.linkCtx.elem或中获取ev.target

更一般地说,this指针是view正在更改的对象。

视图对象上有许多帮助方法,您可以使用它们来访问该视图中的不同元素。例如this.contents("someSelector"),将返回一个 jQuery 对象,该对象选择该视图中的顶级元素,this.contents(true, "someSelector")并将应用选择器过滤视图中的所有元素(深度搜索而不仅仅是顶级元素)。

(可以使用选择器"*"获取所有元素)

于 2013-10-14T20:39:07.630 回答