在KineticJs Text()上显示值

时间:2013-10-07 09:48:59

标签: javascript jquery kineticjs

我想在jquery中使用keyup事件更改容器中的动态js文本但不显示。我尝试获取值然后将其显示在span元素上,它工作正常。 这是我的代码:

var stage = new Kinetic.Stage({
        container: 'canvasContainer',
        width: 800,
        height: 800
    });
    var layer = new Kinetic.Layer();
    var message = '';

    $(function(){
        $('#txtArea').change(function(){
            message = $(this).val();
            $('.output').text(message);

            var simpleText = new Kinetic.Text({
                x: 0,
                y: 10,
                text: message,
                fontSize: 30,
                fontFamily: 'Calibri',
                fill: 'blue'
            });
            layer.add(simpleText);
        }).keyup(function(){
            $(this).change();
        });
    });
    stage.add(layer);

1 个答案:

答案 0 :(得分:0)

添加或更改Kinetic对象后,请务必调用layer.draw()以使图形可见。

BTW,您可能只想更改现有文本对象中的文本,而不是在每次更改时添加新的simpleText

// declare simpleText before .change()

var simpleText = new Kinetic.Text({
    x: 0,
    y: 10,
    text: "",
    fontSize: 30,
    fontFamily: 'Calibri',
    fill: 'blue'
});
layer.add(simpleText);

// then inside .change()

simpleText.setText(message);
layer.draw();