我正在使用 document.onkeydown 在将元素选项卡到以下位置时按下 Return 键时触发:
更新:
function detectspecialkeys(e) {
var evtobj=window.event? event : e; //distinguish between explicit event object (window.event) & implicit
console.log('Event: ' , evtobj);
console.log('Code: ' + evtobj.code);
console.log('Repeat: ' + evtobj.repeat);
if (evtobj.repeat) {return}
if ((code==='Space') || (code==='Enter')) { // Space or Return (code:Enter)
console.log('EObj-Sp/Return: ' , evtobj.target);
if (evtobj.target.nodeName == 'BUTTON') {
console.log('Inside Button'); // only see once
var selid = '#' + evtobj.target.id;
}
$(#selid).trigger('singletap');
}
}
document.onkeydown=detectspecialkeys;
我正在使用 jQuery 触摸事件来处理交互。
我正在使用此版本的 Sweet Alert2:https://rahulbhut21.github.io/SweetAlert2/
我可以看到我的处理程序正在触发并看到 console.log 正常:
$('#selid').on('singletap', function(e) {
console.log('Inside Singletap'); // only see once
e.preventDefault();
swal('Test').catch(swal.noop);
return false;
});
当我点击 #selid 时,SweetAlert 2 警报显示正常,但当使用键盘 Return 时,它会闪烁,然后消失。我尝试实施其他地方提到的建议,但警报仍然消失。
正好需要的 detectorspecialkeys 函数:
evtobj.preventDefault();
evtobj.stopPropagation();
我相信这是需要的,因为由于传播,单击事件可能在父级上的 SweetAlert 模式之外单击,因此立即关闭它。