无法使用 'keydown' 打开模式
Cannot open modal with 'keydown'
我有一个编码的动作链接,点击它会打开一个模式弹出窗口。为了使我的应用程序可访问,我还需要能够通过按键(空格键)打开模式。单击可以正常工作,但按键不能。请帮忙。
编码动作链接:
@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');
}
});
});
仅仅是因为点击事件会传播并触发模态点击,而 keydown 不会这样做。
试试这个
$(function () {
$('body').on('keydown', '.modal-link', function (e) {
if (e.which == 32) {
$(this).trigger("click")
}
});
});
我有一个编码的动作链接,点击它会打开一个模式弹出窗口。为了使我的应用程序可访问,我还需要能够通过按键(空格键)打开模式。单击可以正常工作,但按键不能。请帮忙。
编码动作链接:
@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');
}
});
});
仅仅是因为点击事件会传播并触发模态点击,而 keydown 不会这样做。
试试这个
$(function () {
$('body').on('keydown', '.modal-link', function (e) {
if (e.which == 32) {
$(this).trigger("click")
}
});
});