Il seguente funziona in tutti i browser tranne IE 9.0.8. Carica un modulo di sondaggio all'interno di div con una richiesta Ajax.JQuery non funziona in IE 9.0.8, ma funziona con gli strumenti dev aperti
$('.tab-content').on('click', '.show_survey_form', function(e) {
e.preventDefault()
target = $(this).attr("data-target")
my_href = $(this).attr("href")
console.log("load: " + target + " target: " + my_href)
// load: #survey_response_form_33 target: /surveys/33/survey_responses/edit_multiple
// Don't make a request unless the form is opening.
if ($(this).hasClass('collapsed')) {
console.log("Making request!")
//$(target).load(my_href)
$(this).html(closeSurveyForm) // Just changes the language on the button
} else {
$(this).html(respondToSurvey) // Just changes the language on the button
}
}
Il .load è commentato durante il debug. IE sembra avere un problema nell'uso di .hasClass in questo contesto. È usato altrove senza problemi.
La parte davvero strana è che nel momento in cui apro la finestra degli strumenti di sviluppo, inizia a funzionare. In modo coerente non funziona prima di allora, e funziona in modo coerente dopo aver colpito F12.
Altri problemi hanno detto che il metodo hasClass non funziona quando la classe contiene un \ r char ma non è il caso qui. Sto usando jQuery 1.8.3.
Aggiornamento: La modifica di href su "#" e la scrittura dell'URL nel caricamento dei dati non hanno avuto alcun effetto. Funziona ancora su tutti i browser tranne IE 9.0.8.
Giusto per essere chiari, funziona in tutti i browser tranne IE9.0.8. Significa che funziona in altre versioni di IE9? Che dire di IE8 o IE10? È davvero così specifico per la versione che stai insinuando, o è solo che questa è la versione con cui stai provando? – Spudley
Sarei disposto a scommettere che l'indizio è nel punto in cui dici "funziona non appena apro gli strumenti di sviluppo F12". Penso che questo sia un altro caso di vecchio problema di 'console.log' non funzionante fino all'apertura di F12. Vedi [questa domanda per una risposta completa] (http://stackoverflow.com/questions/7742781/why-javascript-only-works-after-opening-developer-tools-in-ie-once/7742862#7742862) – Spudley
It funziona in IE8 e IE 10. Non ho testato con altre versioni di IE9. – Archonic