Javascript jquery单击链接
我有一个元素,它有一个href属性来调用javascript函数。此元素分为两类:(Javascript jquery单击链接,javascript,jquery,click,href,Javascript,Jquery,Click,Href,我有一个元素,它有一个href属性来调用javascript函数。此元素分为两类:(class=“icon32 icon close”)。此链接在具有类.modal的div上表示为“X”,用于关闭div。 我的问题是,当用户按下“esc”键时,我是否可以关闭div,从而调用a链接。我尝试了下面的代码,但它不起作用,尽管警报显示: $(document).keypress(function (e) { if (e.keyCode == 27) { alert('esc wa
class=“icon32 icon close”
)。此链接在具有类.modal
的div上表示为“X”,用于关闭div
。
我的问题是,当用户按下“esc”键时,我是否可以关闭div,从而调用a链接。我尝试了下面的代码,但它不起作用,尽管警报显示:
$(document).keypress(function (e) {
if (e.keyCode == 27) {
alert('esc was pressed');
$('.modal>.icon32').click();
}
});
您需要使用keyup或keydown作为转义键,以及
e。jQuery中规范化了:
$(function() {
$(document).on('keyup', function (e) {
if (e.which == 27) {
$('.modal > .icon32').trigger('click'); //NOTE: direct child selector
}
});
});
哪一个不起作用-按esc键(在这种情况下,请尝试使用e.which而不是keyCode),或实际的选择器来调用单击?(在这种情况下,通过给元素一个显式ID来测试您的选择器是否错误,并尝试以这种方式选择它以验证它只是您的选择器)
另外,为什么需要“单击”X“->您不仅可以“隐藏()”模态div元素吗?您还可以这样做:
$(document).keyup(function (e) {
if (e.keyCode == 27) {
// As soon as he escape is clicked you do..
$('.icon32.icon-close').click();
}
});
您应该调用本地DOM元素的.click()
事件,而不是jQuery。click()
事件。为此,请使用以下代码:
$('.modal>.icon32')[0].click();
如果您使用的是jQuery模式对话框,请使用选项closeOnEscape:false
,如下所示:
$("#div").dialog({
modal: true,
resizable: false,
closeOnEscape: false,
buttons: {
Ok: function () {
//do something
}
Cancel: function(){
//do something
}
}
});
但它确实有效??或者它不起作用..jQuery UI Dialog是否应该处理Esc?让我们看看
标记的相关HTML和JavaScript。尝试使用keydown
而不是keypress
Try$('div.modal.icon32')。单击();