【问题标题】:Dynamic style change in Titanium Alloy钛合金的动态风格变化
【发布时间】:2014-10-24 06:28:42
【问题描述】:

我是钛合金新手。我正在使用 xml 标记创建一个 9X9 矩阵。如果单击单个单元格,我想更改所有单元格的背景颜色。 我的问题是

1) 我可以像在 jquery 中那样使用类属性

$(".col").click(function() {
    $(".col").css("background-color","red");
});

2) 我应该使用每个单元格的 id 属性更改背景颜色

3) 是否可以为所有单元格分配一个通用的点击列表。

以下是我的 xml 标记

<View id="rowContainer" class="rowContainer">

<View id="rowHolder" class="rowHolder">

<View id="row1" class="row">

<View id="row1col1" class="col"></View>

<View id="row1col2" class="col"></View>

<View id="row1col3" class="col"></View>

<View id="row1col4" class="col"></View>

<View id="row1col5" class="col"></View>

<View id="row1col6" class="col"></View>

<View id="row1col7" class="col"></View>

<View id="row1col8" class="col"></View>

<View id="row1col9" class="col"></View>

</View>

:

:

:

<View id="row9" class="row">

<View id="row9col1" class="col"></View>

<View id="row9col2" class="col"></View>

<View id="row9col3" class="col"></View>

<View id="row9col4" class="col"></View>

<View id="row9col5" class="col"></View>

<View id="row9col6" class="col"></View>

<View id="row9col7" class="col"></View>

<View id="row9col8" class="col"></View>

<View id="row9col9" class="col"></View>

</View>


</View> // end rowHolder

</View> // end rowContainer

【问题讨论】:

    标签: titanium titanium-alloy


    【解决方案1】:

    第一部分和第三部分:

    不,您不能使用该技术。您必须手动将类分配给代理对象。类似的东西:

    在控制器中定义一个函数

    function cellClickHandler(event) {
       $.addClass(event.source, 'backgroundRedColorClass');
    }
    

    在 view.xml 中添加:

    <View id="row9col4" class="col" onClick='cellClickHandler'></View>
    

    第二部分:

    是的,这也是一种选择。假设您拥有对数组中单元格的所有引用:

    _.each(referencesToCells, function(cell){
         $.addClass(cell, 'backgroundRedColorClass');
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多