gpt4 book ai didi

不同元素上的 JavaScript mousedown 和 mouseup

转载 作者:行者123 更新时间:2023-11-28 09:37:45 25 4
gpt4 key购买 nike

我正在尝试用 JS 开发一个单词搜索游戏,如下所示:https://jquery-wordsearch-game.googlecode.com/svn/trunk/demo.html

顺便说一句,我没有使用那个人的插件,而是尝试自己开发。

我使用以下代码来触发处理程序,以在用户单击并在单元格上移动时突出显示单元格。

$('#puzzlecontainer').on('mousedown','.block',myHandler);

问题是 mousedown 事件仅在第一个单元格上触发。我希望处理程序在鼠标路径中的所有单元格上触发。

另外我怎样才能使其与触摸事件兼容?我尝试了触摸移动和触地。

请帮忙

更新

在 Shusl 的帮助下,我添加了以下代码:var ismosedown = false;

        $('#puzzlecontainer').on('vmousedown','.block', function(){
globalvars.ismousedown =true;
$(this).addClass("active");
});

$('#puzzlecontainer').on('vmouseover','.block', function(){
if(globalvars.ismousedown){
$(this).addClass("active");
}
});

$('#puzzlecontainer').on('vmouseup','.block', function(){
globalvars.ismousedown = false;
});

vmouseover 在桌面浏览器上按需要工作。但它无法在我的 Android 手机和平板电脑上运行。请帮忙。

最佳答案

触发一个函数来添加和删除要在 mouseenter 上触发的事件。当鼠标按下时添加此事件并在鼠标抬起时删除它以停止突出显示...

$('#puzzlecontainer').on('mousedown','.block',startSelect);// Run when down
$('#puzzlecontainer').on('mouseup','.block',stopSelect);// Run when up

function startSelect(){
$('#puzzlecontainer').on('mouseenter','.block',myHandler);//Add Handler on enter.
// Fire the mouseenter event for the current element or it will not highlight.
$(this).trigger('mouseenter');
}
function stopSelect(){
$('#puzzlecontainer').off('mouseenter','.block',myHandler);//Remove Handler because mouseup.
}

关于不同元素上的 JavaScript mousedown 和 mouseup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12797171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com