我为使用钛的移动网络创建了一个项目(经典)。 我创建了一个文本域。
var txtField = Ti.UI.createTextField({ id:"txtId", value:"txtValue"});
我添加了一个“更改”事件。
txtField.addEventListener('change', function(e){alert("change event fired");});
之后,当我尝试以编程方式更改该值时,如
txtField.value = "Someothet text"
未触发更改事件。任何人都可以帮我解决这个问题。
先谢谢, Swathi。
答案 0 :(得分:0)
如果以编程方式更改值不会触发更改事件,您可以尝试在文本字段中手动触发它:
txtField.value = "Someothet text"
txtField.fireEvent('change');
您仍然需要在所有不同的地方拨打电话,但它的代码行相同。
答案 1 :(得分:0)
据我所知,它只会在用户界面中修改时触发“更改”事件。并且您还希望有一种方法可以在不触发“更改”事件的情况下更改值; - )
你写道你已经创建了一个包装类。然后你应该在该包装类中创建一个“setter”函数(例如“set”或“setValue”)来设置该值。在setter中,您将设置值AND触发更改事件。这样您只需在一个地方维护更改逻辑。
HTH
/约翰