此代碼一直運行到SDK的最新更新之一。現在它只適用於iOS - 而不適用於Android(測試的API版本19-23)。未觸發帶有editable =「false」的textfield的點擊處理程序
合金片段:
<ScrollView id="form" onClick="clickHandler" onFocus="clickHandler">
:
:
<View class="formRow" id="clubRow1">
<Label id="label_club" />
<TextField id="club1" class="club" editable="false" bubbleParent="true"></TextField>
</View>
控制器片斷:
function clickHandler(e){
console.trace('profile.clickHandler: ' + (e.source.id || 'no id!'));
if(e && e.source){
:
:
我用一個頂級點擊處理器(結果是相同的,如果我對<TextField>
單擊處理程序)。如果我刪除editable="false"
,則觸發點擊處理程序。
我使用此功能向用戶顯示可以從中選擇的值列表(可以從具有搜索功能的列表視圖或簡單的選項列表中選擇,如果只是幾個值)。
有什麼辦法可以再次獲得這個功能嗎?這是SDK中的錯誤 - 或者只是我做了一些尷尬的事情來獲得功能?
環境:
Operating System
Name = Mac OS X
Version = 10.12.1
Architecture = 64bit
# CPUs = 8
Memory = 16.0GB
Node.js
Node.js Version = 4.5.0
npm Version = 2.15.9
Appcelerator CLI
Installer = 4.2.7
Core Package = 5.5.1
Titanium CLI
CLI Version = 5.0.9
node-appc Version = 0.2.31
Titanium SDKs
5.5.0.GA
Version = 5.5.0
Install Location = /Users/jda/Library/Application Support/Titanium/mobilesdk/osx/5.5.0.GA
Platforms = android, mobileweb, iphone
git Hash = 44a2e3f
git Timestamp = 09/13/16 12:38
node-appc Version = 0.2.36
也許在textField中添加「touchEnabled」會有幫助嗎? –
感謝您的建議@OutofOrbit。該屬性默認爲「true」 - 並且明確設置它並不會改變任何內容 - 不幸的是...... –