首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavascriptMVC绑定不工作

JavascriptMVC绑定不工作
EN

Stack Overflow用户
提问于 2011-05-22 17:05:34
回答 3查看 939关注 0票数 1

我只想做一个简单的按钮-点击。但点击时什么也不会发生;-

控制器:

代码语言:javascript
复制
$.Controller.extend('Cookbook.Controllers.Extra',
{
    onDocument: true
},
{
    "{window} load": function() {
        console.info("loaded");
    },
    'click': function( el ) {
        alert("click");
    }
});

Extra.html (入境点)

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
    <head>
        <title>Test</title>
    </head>
    <body>
        <a href="#" >click here</a>
        <script type='text/javascript' src='../steal/steal.js?extra,development'></script>
    </body>
</html>

更新:

这个活动正在进行中。但不是点击侦听器;-(

代码语言:javascript
复制
 "{window} resize" : function(window, ev){alert("test")}
EN

回答 3

Stack Overflow用户

发布于 2011-05-22 17:54:44

onDocument: true意味着您已经将您的控制器声明为文档控制器,而文档控制器在每个选择器之前都添加了一个隐式的'#CONTROLLERNAME‘。

因此,您的事件处理程序定义实际上是:

代码语言:javascript
复制
'#extra click': function( el ) {
    alert("click");
}

您的页面上可能没有#extra元素,因此它永远不会被附加,而且事件也不会被触发。当我开始使用JMVC时,我自己犯了这个错误。

文档控制器文档的第一行将解释这一点。

我认为他们可能会在未来的JMVC版本中取消文档控制器,我发现我并不经常使用它们。

票数 0
EN

Stack Overflow用户

发布于 2011-05-22 17:58:25

还有一些"MainControllers“没有在每个选择器前面添加#控制器名。我相信这就是你想要达到的目标。您需要将这一行添加到控制器定义的静态部分:

代码语言:javascript
复制
hasActiveElement : document.activeElement || false

这将使您的控制器看起来像:

代码语言:javascript
复制
$.Controller.extend("MainController",{
  hasActiveElement : document.activeElement || false
},{
  focus : function(el){
     if(!this.Class.hasActiveElement)
         document.activeElement = el[0] //tracks active element
  }
})
票数 0
EN

Stack Overflow用户

发布于 2012-10-05 19:33:48

例如,给链接一个id或类

代码语言:javascript
复制
<a href="javascript:;" id="myLink">Click</a>

然后,在控制器中,链接注册处理程序应该如下所示

代码语言:javascript
复制
'#myLink click': function(){
    //...
 }

这应该能行。还请注意,文档控制器在某种程度上是不推荐的。您应该创建一个普通控制器,然后将其附加到某个元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6089443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档