我有一個腳本,它使用canvas來操作。我這樣稱呼它:Javascript擴展性
namespace.module.do(canvas, paramString);
我想移動電話到畫布本身,因此它會有點類似:
<canvas namespace.module.dobehavior=paramString />
我可以用JS
,如果不這樣做我能接近它多遠?
我有一個腳本,它使用canvas來操作。我這樣稱呼它:Javascript擴展性
namespace.module.do(canvas, paramString);
我想移動電話到畫布本身,因此它會有點類似:
<canvas namespace.module.dobehavior=paramString />
我可以用JS
,如果不這樣做我能接近它多遠?
在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);
}
}
}
其中寬度和喚起注意是畫布元素的寬度和高度(或類似10000更高的值)。
畫布是一個DOM對象,所以你可以附加功能。在您的示例:
document.getElementsByTagName("canvas")[0].namespace.module.dobehavior = function(paramString) { ... code ... };
(顯然,document.getElementsByTagName( 「畫布」)[0] .namespace和document.getElementsByTagName( 「畫布」)[0] .namespace.module將需要是一個對象,所以你可能需要做
document.getElementsByTagName("canvas")[0].namespace = { module : { dobehavior : function(paramString) { ... } } };
,然後如果你有canvas元素的地方(也可以通過var canvas = document.getElementsByTagName("canvas")[0];
可能),你可以做
canvas.namespace.module.dobehavior("someString");
那是什麼意思?
有點,我的最終目的是避免調用JS,而是通過附加新行爲來擴展功能,例如
啊,看我的其他答案:) – 2012-02-02 11:57:26
非常光滑,歡呼! – Dmitry 2012-02-02 12:03:55
我可以幫助我快樂! – 2012-02-02 15:45:03