2013-06-29 135 views
1

我正在使用html 5畫布處理照片編輯器程序,並且我正在使用該方法創建一個窗口,供用戶隨後利用它來查找其圖像。問題是,我希望能夠做到這一點,當他們點擊我的畫布應用程序中的「按鈕」,而不是在側面有一個HTML按鈕或重疊的地方。基本上我需要這樣做,當用戶點擊畫布中的按鈕時,它會觸發按鈕上的點擊事件。我已經做了一些谷歌搜索,但我一直沒能找到我正在尋找的東西...觸發鼠標點擊畫布上的輸入類型按鈕

謝謝你們!

回答

0

如果您使用的是onclick事件,你需要這樣的事:

編輯:所以你必須在你的畫布的矩形區域,應點擊的?如果是這樣,你定義了4個極限leftLimitrightLimittopLimitbottomLimit,和執行的onclick此功能:

var canvas = document.getElementById('yourCanvasId'); 
    button = document.getElementById('yourButtonId'); 
canvas.onclick = function(event) { 
event = event || window.event; 
var x = event.pageX - canvas.offsetLeft, 
    y = event.pageY - canvas.offsetTop; 
if(x > leftLimit && x < rightLimit && y > topLimit && y < bottomLimit) { 
    var e = document.createEvent("MouseEvents"); 
    e.initMouseEvent("click",1,1,document.defaultView,0,0,0,0,0,0,0,0,0,0,button); 
    button.dispatchEvent(e); 
    } 
} 
+0

好吧,它不是整個畫布,而是我已經定義在一個畫布內作爲一個按鈕,當我現在點擊它,我可以做出警報和事情,但例如:document.getElementById('fileDerp') 。點擊();似乎沒有做任何事情 - 任何想法? –

0

別介意傢伙,我想通了......由於安全您無法實際訪問輸入類型=「文件」的原因,請單擊javascript中的事件。

+0

確保接受你自己的答案 – Mataniko