我不建议使用逗号分隔的输入,您需要进行大量验证才能使其正确。因此,让我们将三个不同文本输入中的属性分开......
<div>
<label for="center_x">Center X</label>
<input type="text" data-attr="cx" id="center_x" value="200" class="attr_change" />
</div>
<div>
<label for="center_y">Center Y</label>
<input type="text" data-attr="cy" id="center_y" value="200" class="attr_change" />
</div>
<div>
<label for="center_y">Radius</label>
<input type="text" data-attr="r" id="radius" value="100" class="attr_change" />
</div>
<svg xmnls="http://www.w3.org/2000/svg">
<circle fill="#c00" cx="200" cy="200" r="100" id="change_this" />
</svg>
jQuery 代码很简单:
$('.attr_change').on('keyup', function(){
var attr = $(this).attr("data-attr");
var value = parseInt($(this).val(), 10);
if ($.isNumeric(value)) {
$("#change_this").attr(attr, value);
}
})
http://jsfiddle.net/hzn6q/