0

我一直在搞乱javascriptmvc。从模型中获取数据后,视图生成类似如下的html

<ul>
 <li><a href="javascript://" class=".dosomething">link 1</a></li>
 <li><a href="javascript://" class=".dosomething">link 1</a></li>
 <li><a href="javascript://" class=".dosomething">link 1</a></li> 
</ul>

在我的控制器中,我使用以下代码将点击事件连接到链接

'.dosomething click': function( el ){
alert('hey');
var example = el.closest('.example').model();
alert(example);

}

事件触发,但 'var example' 未定义。

我从使用脚手架命令创建基本代码开始,并一直在修改内容以查看我是否理解它,我显然没有:)。

有人可以解释一下这条线

var example = el.closest('.example').model();

应该可以工作,而 el 是什么(它的类型)。它只是一个html元素吗?

我一直在阅读我能找到的所有文档,但到目前为止还没有运气。谢谢你的帮助!

4

1 回答 1

0

如果您在 JMVC 的论坛上提问,您将更有可能得到答案。

问题是您没有在 li 上连接示例模型实例。你的视图应该是这样的:

<li <%= examples[i] %> >

这会将模型添加到 jQuery 数据并添加示例 css,从而允许 .model() 工作。

.closest(SELECTOR) 查找匹配选择器的第一个父元素。这应该是具有模型数据的元素。

于 2011-05-27T23:24:48.293 回答