我开始摆弄拉斐尔,但我遇到了一个无法解决的问题:
出于测试目的,我正在尝试简化方案: 使用x和y的两个输入字段在给定位置添加一个圆。
圆圈将出现几分之一秒,然后消失。它发生在chrome和FF(没有尝试过其他人)
我有这个HTML
<div id="canvas_container"></div>
x<input id="cx" /><br/>
y<input id="cy" /><br/>
<button onclick="see(document.getElementById('cx').value,document.getElementById('cy').value)">Populate</button>
和这个js
var paper;
window.onload = function () {paper = new Raphael(document.getElementById('canvas_container'), 1000, 1000);
}
function see(x, y) {
alert("coords " + x + " " + y);
var fino = paper.circle(x, y, 20).attr({
stroke: 'none',
fill: '#f60'
}).toFront();}
我确信这会很容易,也许是愚蠢的,但我看不到它 提前谢谢!
答案 0 :(得分:1)
首先。我建议你不要使用内联javascript,最好以不同的方式定义事件监听器。在下一个小提琴中,我使用的方法也不是更好。您可以使用target.addEventListener(type, listener[, useCapture]);
,例如,您可以here查看其工作原理。
所以,你可以尝试使用这个标记的起点:
<div id="canvas_container"></div>
<lable>x</lable>
<input id="cx" /><br/>
<lable>y</lable>
<input id="cy" /><br/>
<button id="button">Populate</button>
这个JS:
var paper;
paper = new Raphael(document.getElementById('canvas_container'), 1000, 1000)
function see(x, y) {
alert("coords " + x + " " + y);
var fino = paper.circle(x, y, 20).attr({
stroke: 'none',
fill: '#f60'
})
}
var button = document.getElementById('button');
button.onclick = function(){
var x = document.getElementById('cx').value;
var y = document.getElementById('cy').value;
see(x,y);
}
你可以看到它在this小提琴上工作。你准备好了。