增加类值onclick javascript

时间:2016-05-19 01:00:53

标签: javascript jquery html knockout.js

我试图在点击时增加类值。如何使用此代码实现此目的? http://jsfiddle.net/P9C7E/29/

生成新的分区

 <div class="container">
<div data-bind="foreach:items" class="fix_backround">
<div href="#" class="item" data-bind="draggable:true,droppable:true">
    <span data-bind="click:$parent.remove">[x]</span><br/><br/>
    <center><span class="text" data-bind="text:$data"></span><input class="edit_text"/></center>
</div>

甚至可以增加class =“item”示例class =“item1”item2 item 3每次创建draggable时,增量加1

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作,为每个添加的可拖动项添加“item1”,“item2”等。

var count = 1;

ko.bindingHandlers.draggable={
    init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
        $(element).draggable();
        $(element).addClass('item' + count);
        count++;
    }
};

(请记住,既然你已经在使用MV *框架,那么你最有可能避免做类似枚举的事情)

编辑:为了选择可拖动并更改其属性,它将类似于:

var count = 1;
var selectedDraggable;

ko.bindingHandlers.draggable={
    init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
        $(element).draggable();
        $(element).addClass('item' + count);
        count++;
        $(element).on('click', function () {
            selectedDraggable = $(this);
        })
    }
};

然后是:

$("#fs").change(function() {
    //alert($(this).val());
    selectedDraggable.css("font-family", $(this).val());

});

$("#size").change(function() {
    selectedDraggable.css("font-size", $(this).val() + "px");
});


$('.foo').click(function(){
    selectedDraggable.css("color", $(this).attr('data-color'));
});