Есть ли кто-нибудь, способный -execute-сгенерированный Ajax.ActionLink, когда пользователь нажимает клавишу на клавиатуре? (Это необходимо для обеспечения доступности)ASP.NET MVC Ajax - Возможно ли выполнить ссылку -GENERATED-Ajax с вводом клавиатуры?
Примечания: Я использую библиотеку ASP.NET MVC + Microsoft Js (... ajax.js/... MvcAjax.js) + JQuery
Javascript для захвата (IE нажатия + Firefox)
$(document).keypress(function(event) {
if(event.keyCode == 27) {
//execution here
var a = document.getElementById('linkid');
}
});
Html порожденной ASP.NET MVC (Ajax.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
}
});
Гоша, я не пробовал часть JQuery. Думаю, я мог бы заставить его работать. Для второй части: я создал обработчики для AJAX и не-AJAX-запросов, однако это интрасеть, и все (IE7) и мне (FF) должны работать с AJAX, особенно с использованием ввода с клавиатуры. Завтра я попробую часть jQuery. – Ropstah
Ну, потвердри, это работает! :) – Ropstah