2013-06-29 96 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