我有一个编码的动作链接,单击该链接将打开模式弹出窗口。为了使我的应用程序可访问,我还需要能够通过按键(空格键)打开模式。单击时工作正常,但按键不起作用。请帮忙。
已编码的操作链接:
@Html.EncodedActionLink(
"Preview",
"Preview",
"Forms",
new {
stagingId = Model.FormData.StagingNotificationId
},
new {
@class = "'modal-link btn btn-success'",
id = "decSave"
})
适用于鼠标的点击代码:
$(function() {
$('body').on('click', '.modal-link', function(e) {
e.preventDefault();
$(this).attr('data-target', '#modal-container');
$(this).attr('data-toggle', 'modal');
});
});
按键按下代码(触发警报但未打开模式):
$(function() {
$('body').on('keydown', '.modal-link', function(e) {
if (e.which == 32) {
alert('test')
e.preventDefault();
$(this).attr('data-target', '#modal-container');
$(this).attr('data-toggle', 'modal');
}
});
});
答案 0 :(得分:1)
仅是因为click事件会传播并触发模式点击,而keydown则不会这样做。
尝试一下
$(function () {
$('body').on('keydown', '.modal-link', function (e) {
if (e.which == 32) {
$(this).trigger("click")
}
});
});