钛合金-无法禁用标签栏内的标签使用id
Titanium Alloy - unable to disable Label inside Tabbedbar using id
我有一个包含标签的TabbedBar,里面有标签,我需要通过编码在.js文件中更改其启用属性。我已经尝试设置该特定标签的id,并已使用。.js文件中的$.lblProf.enabled = false;
。它的抛出错误:
Undefined不是一个对象(计算'$. lblprof . ')。Enabled = false')
demo.xml
<TabbedBar id="tabbedBar" platform="ios" backgroundColor="#369" top="44dp" height="30dp" width="300" index="0" onClick="tabBarClick">
<Labels>
<Label>Details</Label>
<Label>Photos</Label>
<Label>Documents</Label>
<Label id="tabProfile">Profile</Label>
</Labels>
</TabbedBar>
demo.js
$.tabProfile.enabled = true;
如果我试图直接禁用,即
<Label id="lblProf" enabled="false">
正如@visola所提到的,您的标签需要一个ID以便以编程方式访问它们。否则,Alloy会给他们一个自动生成的ID,这通常对人类没有帮助。
xml<TabbedBar id="tabbedBar" platform="ios" backgroundColor="#369" top="44dp" height="30dp" width="300" index="0" onClick="tabBarClick">
<Labels id='labelsList'>
<Label id='details'>Details</Label>
<Label id='photos'>Photos</Label>
<Label id='documents'>Documents</Label>
<Label id='tabProfile'>Profile</Label>
</Labels>
</TabbedBar>
对于tabProfile分配,$
是页面层次结构中的顶级对象。因此,$.tabProfile
不存在。这就是为什么改变它没有效果。您需要进一步深入到$.TabbedBar.Labels.Label
页。也就是说,Label
没有enabled
属性。所以,你的应用程序抛出undefined
错误。
我将查看Titanium.UI.iOS.TabbedBar文档以获取更多示例。看来您需要通过更改颜色来模拟禁用它们,例如浅灰色,然后将touchEnabled
设置为false。
希望这能帮助你前进。
相关文章:
- Javascript简单的timeago脚本设置为跨类或标签id
- asp.net 数据列表中的跟踪标签 ID
- 将ASP.NET标签id传递给Javascript
- 标签 ID 正在更改,如何解决此问题
- 如何将标签 ID 作为参数传递给 javascript 函数,然后根据需要获得不同标签的文本
- 如何在 javascript 中使用
- Javascript:如何更改所有<区域>标签ID的href
- 如何在单击 li 项时通过 AJAX 传递 li 标签 ID
- 仍然没有添加到 DOM 中,但如果插入了警报/确认,则会获取标签 ID
- Android:从HTML代码获取链接(没有标签/ID)
- 如何在 Django 表单中添加标签 ID
- 如何从视频游戏应用程序中的原始语法中获取@commit标签ID列表
- 标签ID和根URL是否会从Google Chrome扩展的内容脚本中更改
- 我们可以使用Eval块设置标签ID吗
- 从 angularjs 生成标签 ID
- 如何在firefox中获得所有标签和执行某些标签id上的javascript
- 如何通过javascript函数设置标签文本,而不知道javascript中的标签ID
- 将span标签id发送到URL,而不刷新页面
- 我如何才能得到一个已知的标签id在Chrome扩展之前查询的更改url
- 如何调用javascript函数,如果href有哈希标签id