Simula Casella di testo Clicca per avere attenzione
-
10-10-2019 - |
Domanda
sto provando il seguente codice all'evento fuoco click su una casella di testo mentre si fa clic su un pulsante, come la funzione di messa a fuoco () non funziona in IE8
function simulateClick(elm) {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
var canceled = !elm.dispatchEvent(evt);
if(canceled) {
// A handler called preventDefault
// uh-oh, did some XSS hack your site?
} else {
// None of the handlers called preventDefault
// do stuff
}
}
Questo codice funziona bene se l'elemento è di tipo casella di controllo, ma non di testo, c'è qualcosa che potrebbe essere necessario aggiungere?
Soluzione
Questo è il codice per la messa a fuoco
function ResponseEnd(sender, args) {
if (args.get_eventArgument().indexOf("Filter") != -1) {
var grid = document.getElementById("<%= radGridEnquiries.ClientID %>");
var label = $(grid).children("table").children("tbody").children(".rgRow").children("td:has(span)").children("span")[0];
if (label != null) {
label.focus();
}
else {
var noRecTemp = $(grid).children("table").children("tbody").children("tr.rgNoRecords").children("td:has(div)").children("div");
noRecTemp.focus();
}
}
if (postInProgress)
postInProgress = false;
}
Lo scenario reale è che ho qualche campo di testo impostato come filtri in un Telerik RadGrid e non avendo le icone di filtro, ma quando i messaggi degli utenti di un filtro e la richiesta è finito in IE8 casella di testo del filtro è ancora con il fuoco impedendo all'utente di inserire nuovi filtri a meno clic sulla casella di testo nuovo manualmente
P.S. Scusate se questo post è visto come risposta, ma non è in grado di aggiornare a questa domanda con un apposito rientrato. Grazie