我需要将这些jquery函数转换为事件监听器,我尝试了很多不同的方法,但我并不是100%熟悉Jquery。有人可以帮忙吗
他们需要成为事件监听器的原因是因为它们适用于画布绘图应用程序,并且它们必须能够在使用后关闭,因为它们在激活后连续运行。
$("#canvas").mousedown(function(e){handleMouseDown(e);});
$("#canvas").mousemove(function(e){handleMouseMove(e);});
$("#canvas").mouseup(function(e){handleMouseUp(e);});
$("#canvas").mouseout(function(e){handleMouseUp(e);});
如果它们的格式可以更好。该行是激活这些的按钮:D thankyou
var line = document.getElementById('rubber');
line.addEventListener('click', function () {
"content here "
});
答案 0 :(得分:2)
当然,您要找的是jQuery.on()和jQuery.off()。
所以这是你的代码示例。
function onClick (e) {
console.log("content here");
}
var $line = $('#rubber')
.on("click", onClick);
// to remove later
$line.off("click", onClick);
同时检查jQuery.one(),因为它会将一个侦听器附加到一个对象并在触发一次后将其删除。
答案 1 :(得分:1)
你在找这个。
var el = document.getElementById('canvas');
el.addEventListener('mousedown', function(e){
handleMouseDown(e);
}, false);
el.addEventListener('mousemove', function(e){
handleMouseMove(e);
}, false)
el.addEventListener('mouseup', function(e){
handleMouseUp(e);
}, false)
el.addEventListener('mouseout', function(e){
handleMouseUp(e);
}, false)
答案 2 :(得分:1)
我不知道你想要的是什么。我想你想要事件处理程序:
$("#canvas").mousedown(eventHandler);
function eventHandler(e){
//do your stuff
}
我还建议您使用bind而不是快捷方式:
答案 3 :(得分:0)
试试这样。
$("#canvas").mousedown(handleMouseDown);
$("#canvas").mousemove(handleMouseMove);
$("#canvas").mouseup(handleMouseUp);
$("#canvas").mouseout(handleMouseUp);