我想在用户点击时设置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");
}
}
});
它似乎不起作用。
我该怎么做?
答案 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";