ASP.NET 视阿贾克斯-这是可能的执行产生-阿贾克斯链接用键盘输入?
-
05-09-2019 - |
题
是任何人能够对执行产生的Ajax。ActionLink当户按键盘上? (这是需要accessibility)
注:我在使用ASP.NET 视+微软雅库(...Ajax.js /...MvcAjax.js)+jQuery
Javascript捕捉按键(即+Firefox)
$(document).keypress(function(event) {
if(event.keyCode == 27) {
//execution here
var a = document.getElementById('linkid');
}
});
Html产生的ASP.NET 视(阿贾克斯。ActionLink())
<a id="linkid" href="/controller/action" onclick="
Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event),
{ insertionMode: Sys.Mvc.InsertionMode.replace,
updateTargetId: 'SomeDivId' });
">LinkText</a>
以下是不是我在寻找什么,这不工作!
$(document).keypress(function(event) {
if(event.keyCode == 27) {
var a = document.getElementById('linkid');
a.onclick(); //doesn't exist in Firefox
a.click(); //doesn't "work" in Firefox (reference to "this" [a] is needed .NET MVC javascript)
a["onclick"](); //same as .onclick()
a["click"](); //same as .click()
//or even:
a.onclick.apply(a); //doesn't exist in Firefox
a.click.apply(a); //Somehow keeps "this" reference, but throws Sys.ArgumentUndefinedException
}
});
解决方案
你有没有尝试过利用google i/o大会的触发机制?
$(document).keypress( function(e) {
if (e.keyCode == 27) {
$(this).trigger('click');
}
}
如果做不到这一点,你可以调用的href,这将做一个完整的回发的,但应当完成所需的行动,如果行动是书面处理阿贾克斯和非阿贾克斯的请求。
$(document).keypress( function(e) {
if (e.keyCode == 27) {
location.href = $(this).attr('href');
}
}
其他提示
请尝试这样:
var a = document.getElementById('linkid');
$(a).trigger('click');
不隶属于 StackOverflow