Est-ce que quelqu'un peut -exécuter- un Ajax.ActionLink généré lorsqu'un utilisateur appuie sur une touche du clavier? (Ceci est nécessaire pour l'accessibilité)ASP.NET MVC Ajax - Est-il possible d'exécuter un lien -GENERATED-Ajax avec une entrée au clavier?
NOTE: J'utilise les bibliothèques ASP.NET MVC + Microsoft Js (... Ajax.js/... MvcAjax.js) + jQuery
Javascript pour capturer pression de touche (IE + Firefox)
$(document).keypress(function(event) {
if(event.keyCode == 27) {
//execution here
var a = document.getElementById('linkid');
}
});
HTML généré par 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>
Ce qui suit n'est pas ce que je cherche, cela ne fonctionne pas!
$(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
}
});
Mon Dieu, je n'ai pas essayé la partie jQuery. Je pense que je pourrais vraiment le faire fonctionner. Pour la deuxième partie: J'ai créé des gestionnaires pour les requêtes AJAX et non-AJAX, mais c'est un intranet et tout le monde (IE7) et moi (FF) devraient le faire fonctionner avec AJAX, surtout en utilisant une entrée au clavier. Je vais essayer la partie suivante de jQuery demain. – Ropstah
Eh bien potverdrie, ça marche! :) – Ropstah