jsView:如何在“onBeforeChange事件”中获取当前元素

时间:2013-10-14 18:42:11

标签: jsviews

我想知道是否有一种方法可以在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.
        }
    }
  });

我搜索了返回的对象,但是可以找到一种稳定的方法来获取元素。我们非常感谢任何有关何处观看的想法或提示。谢谢!

1 个答案:

答案 0 :(得分:1)

如果您要查找数据链接元素,例如输入:<input data-link="..." />,其更改事件触发了更改,您可以从this.linkCtx.elemev.target获取该元素。

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

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

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