2
我正在創建一個mixin,當文本字段獲得焦點時呈現JavaScript文件。幫助在Tapestry5中創建JavaScript混搭?
我是新來的掛毯混入的想法,而且我不確定該在何處,我希望當文本框獲得焦點跑我原來的JavaScript文件。
以下是我的代碼示例: Java的混合類:
package asc.mixins;
import org.apache.tapestry5.RenderSupport;
import org.apache.tapestry5.annotations.AfterRender;
import org.apache.tapestry5.annotations.Environmental;
import org.apache.tapestry5.annotations.IncludeJavaScriptLibrary;
import org.apache.tapestry5.annotations.InjectContainer;
import org.apache.tapestry5.corelib.base.AbstractTextField;
@IncludeJavaScriptLibrary("js_dasher_mixin.js")
public class DasherMixin {
@Environmental
private RenderSupport renderSupport;
@InjectContainer
private AbstractTextField field;
@AfterRender
void addScript() {
this.renderSupport.addScript("new JSDasher('%s');",
this.field.getClientId());
}
}
的JavaScript混入文件:我的JavaScript文件的
JSDasher = Class.create({
initialize: function(textField)
{
this.textField = $(textField);
this.textField.observe('focus', this.onFocus.bindAsEventListener(this));
},
onFocus: function(event)
{
//call my javascript init() function
}
}
一部分,我希望爲運行時的文本框收益重點:
var posX, posY;
// Sets up our global variables and dispatches an init request to the server.
function init() {
posX=0;
posY=0;
canvas = document.getElementById("canvas");
canvasWidth = canvas.offsetWidth;
canvasHeight = canvas.offsetHeight;
if (canvas.getContext) {
ctx = canvas.getContext("2d");
}
canvas.onclick = canvasClicked;
canvas.onmousemove = mouseMoved;
canvasOffsetX = findPosX(canvas);
canvasOffsetY = findPosY(canvas);
sessID = -1;
sendInitRQ(canvasWidth, canvasHeight);
}
我的JavaScript文件是更大的塔上面的n,我的問題是我應該把我的JavaScript代碼放在上面?
它應該全部包含在mixin.js文件?如果是的話,究竟應該去哪裏?
在此先感謝您的幫助。
感謝您的回覆。我仍然有點不清楚,也許我沒有正確地說出我的問題。我知道把mixin.js文件放在哪裏,我只是不確定是否應該從mixin.js文件中分離出我的原始js代碼。如果是這樣,我怎麼能從我原來的js代碼調用init()方法。它應該包含在mixin.js中嗎? 我希望這是有道理的。再次感謝。 – shane87 2010-05-10 19:55:52
我更新了答案,因爲我誤解了這個問題。 – 2010-05-11 05:42:27
再次感謝..再一個問題。 是否可以從mixin.js文件中調用另一個JavaScript文件的方法。我的JavaScript文件非常大,並將請求發送到另一臺服務器上運行的php套接字。所以我需要將我的javascript代碼與php套接字一起保存在其他服務器的根目錄中。即我需要保持mixin.js代碼與其他JavaScript代碼分離。 我想要做的是以某種方式掛鉤onfocus事件中的外部JavaScript代碼。 這裏的任何幫助都會很棒。 – shane87 2010-05-11 21:51:41