我有一个脚本,它操纵画布。我这样称呼它:
namespace.module.do(canvas, paramString);我想把调用移到画布本身,所以它有点类似于:
<canvas namespace.module.dobehavior=paramString />我能用JS做到这一点吗?如果不能,我能离它有多近?
发布于 2012-02-02 19:57:12
在JQuery中
$(function() {
$("canvas[ns.mod.colorBehavior]") {
var color = $(this).attr("ns.mod.colorBehavior");
if (color == "red") {
var context = this.getContext('2d');
context.fillStyle = "#ff0000";
context.fillRect(0,0,width,height);
}
}
}其中width和height是画布元素的宽度和高度(或更高的值,如10000)。
发布于 2012-02-01 20:23:09
画布是一个DOM对象,所以您可以将函数附加到它。在您的示例中:
document.getElementsByTagName("canvas")[0].namespace.module.dobehavior = function(paramString) { ... code ... };(显然,document.getElementsByTagName("canvas").namespace和document.getElementsByTagName("canvas").namespace.module需要是一个对象,所以您可能需要这样做
document.getElementsByTagName("canvas")[0].namespace = { module : { dobehavior : function(paramString) { ... } } };然后,如果您在某个地方有画布元素(可能也是通过var canvas = document.getElementsByTagName("canvas")[0];),您可以这样做
canvas.namespace.module.dobehavior("someString");你是这个意思吗?
https://stackoverflow.com/questions/9095671
复制相似问题