brilliant2012
2009-02-11 10:55 阅读 221

请教Ext中Menu的一个问题

如果一个item写了href和handler,那么点击的时候是否有冲突?先走哪个?如果想在进入href之前先调用handler可不可以?
[b]问题补充:[/b]
呵呵,leonelwong 说的我验证过了,发现handler和href各司其职,点击时,调handler,并且指定的target跳到了href指定的链接。这样,如果想要在点击menu item跳到页面之前进行一些动作,则有可能页面已经load完了,那些动作还没有做到。

所以我随便给item加了一个属性,比如叫做abc,代替href属性,href就不要了,在hander里面写
function onItemClick(item,e){
//动作代码(略)
//控制页面跳转代码如下
window.frames[item.hrefTarget].location.href=item.abc;
}

这样就能控制在页面跳转之前能做的事情了
[b]问题补充:[/b]
nickevin 说的没有听明白,执行时被忽略?那页面怎么跳转的
[b]问题补充:[/b]
我试过如果href和handler同时控制一个iframe的话,handler的不管用。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    leonelwong 马勒格彼得 2009-02-18 16:36

    其实怎么说呢href执行的是用户点击后的操作,而handler也是这样的操作,同一个触发只能执行一个操作,这样的话HREF是优先执行的

    点赞 评论 复制链接分享
  • leonelwong 马勒格彼得 2009-02-11 11:15

    href一般是路径,如果你要写成JS也可以,先运行HREF,然后handler

    点赞 评论 复制链接分享
  • nickevin nickevin 2009-02-11 17:13

    没有冲突 因为没有href这个配置属性 执行时被忽略 handler是唯一有效的。

    点赞 评论 复制链接分享
  • nickevin nickevin 2009-02-12 17:03

    如果页面跳转(非ajax):

    handler: function(){
    window.location = "xxx.html";
    },

    将打开一新页面

    点赞 评论 复制链接分享

相关推荐