我一直在搞乱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>
在我的控制器中,我使用以下代码将click事件连接到链接
'.dosomething click': function( el ){
alert('hey');
var example = el.closest('.example').model();
alert(example);
}
事件触发,但'var example'未定义。
我最初是通过使用scaffold命令创建基本代码,并且一直在修改事情,看看我是否理解它,我显然没有:)。
有人可以解释一下这行吗
var example = el.closest('.example').model();
应该工作,el是什么(它的类型)。它只是一个HTML元素吗?
我一直在阅读我能找到的所有文档,但到目前为止还没有运气。谢谢你的帮助!
答案 0 :(得分:0)
如果您在JMVC论坛上提问,您将更有可能获得答案。
问题是你没有在li上连接示例模型实例。您的观点应该包含:
<li <%= examples[i] %> >
将模型添加到jQuery数据并添加示例css,允许.model()工作。
.closest(SELECTOR)查找与selector匹配的第一个父元素。这应该是具有模型数据的元素。