Extjs 4.的位置.没有显式id的哈希
Extjs 4. location.hash without explicit ids
在我的面板中有一个导航树。在itemclick
窗口向下滚动到一个特定的表单字段。我是这样做的:
location.hash = 'UID'
我可以通过Ext.getCmp(UID)
得到元素。但我知道,这种使用id的做法是不好的,因为可能的布局崩溃。所以,我现在想使用itemId
而不是id
,但问题是如何模拟与location.hash
相同的行为。
一旦你有了元素的container
和element
本身,然后调用:
element.scrollIntoView(container, ...);
仅仅因为没有定义ID,这并不意味着元素没有ID。ExtJS自动创建唯一的id。
一个好的OO设计应该提供你需要的参考。ExtJS在99.9%的情况下可以做到这一点。
示例:itemclick事件有一个参数this。可以是窗口,面板,按钮,或者其他。
itemclick( myElement, record, item, index, e, eOpts ) {
...
location.hash = myElement.id;
...
}
如果你有一个Ext.Component,但是你想要这个元素的父组件或子组件,你应该使用up()和down()方法。这仍然比Ext.getCmp()更快,因为您不需要搜索整个DOM。
myButton.up(); //get parent
myButton.up("toolbar") //tries to find a parent with xtype "toolbar"
myButton.down("textfield"); //you get it...
您可以使用以下命令获取该项:
Ext.ComponentQuery.query('[itemId=' + UID + ']')[0];
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- AngularJS:获取链接中没有哈希的查询字符串值
- 如何在Google chrome安全首选项文件中创建扩展安全哈希代码
- 如何在浏览器重新加载时保存位置哈希状态
- jQuery scrollTop-哈希错误
- 动态添加哈希标记;t工作
- 在Javascript中实现对哈希值的暴力攻击
- JavaScript URL哈希检测id号
- 在发送到客户端之前,是否应该对表的Id列进行加密/哈希处理
- 在页面加载时,如果URL哈希与数组中的某个值匹配,则滚动到具有匹配数据加载id属性的元素
- 简单的哈希函数,对HTML id友好,区分大小写
- 如何从哈希url使用id更改内容
- 排除哈希值和匹配ID
- 链接到id(哈希),检测哈希值,但scrollTo不通过if语句触发固定导航
- 如何调用javascript函数,如果href有哈希标签id
- 如何检查一个元素在id的哈希符号之后是否有一个字符串?
- Extjs 4.的位置.没有显式id的哈希
- 当属性名称具有哈希时,Jquery ID选择器
- 当页面加载时,会出现平滑滚动,当ID和哈希值设置相同时,偏移量会跳跃