以下は、IE 9.0.8 を除くすべてのブラウザーで機能します。ajax リクエストを使用して、div 内にアンケート フォームを読み込みます。
$('.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
}
}
.load は、デバッグ中にコメント アウトされます。IE では、このコンテキストで .hasClass を使用すると問題が発生するようです。他でも問題なく使えています。
本当に奇妙なのは、開発ツール ウィンドウを開いた瞬間に機能し始めることです。それ以前は一貫して機能せず、F12 を押した後は一貫して機能します。
他の問題では、クラスに \r 文字が含まれている場合、hasClass メソッドが機能しないと述べていますが、ここではそうではありません。jQuery 1.8.3 を使用しています。
更新: href を「#」に変更し、URL を data-load に書き込んでも効果はありませんでした。IE 9.0.8 を除くすべてのブラウザーで引き続き動作します。