使用Kinetic.js设置HTML输入值

时间:2014-02-03 11:10:43

标签: javascript jquery html kineticjs

我想在用户点击时设置HTML输入框的值,使用Kinetic.js。

这是输入框:

<input type="text" id="text_box">

这是方法

stage.on('mousedown touchstart', function(evt) {
var shape = evt.targetNode;
if (shape) {
  if (shape.getFill() == 'green') { 
    // this is where the text box value should be changed.
    // I tried this:
    $("#text_box").val("hello");
  }     
}
  });

它似乎不起作用。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可能希望将侦听器绑定在形状本身而不是舞台上。

例如:

var layer = new Kinetic.Layer();
var shape = new Kinetic.Circle({ /*... */ });

shape.on('mousedown touchstart', function(e){
  var that = e.targetNode;
  // ..
});

layer.add(shape);

查看this example

答案 1 :(得分:0)

这应该以DOM中的文本框为目标。

document.getElementById("text_box").setAttribute("value","hello");

document.getElementById("text_box").value = "hello";