我有jQuery的我在哪裏觸發單選按鈕點擊一個很奇怪的問題,觸發呼叫,但它並沒有完全燒,而不是被一個on
點擊功能拍攝,然而,對jQuery trigger
的類似調用是被捕獲。jQuery的不捕獲點擊事件後的HTML單選按鈕
在下面的jQuery中,我選擇了<div>
並使用find
來搜索合適的內容。
var prev_chosen_d_option = $('#d_options_table .d_option_row[data-option-id="' + d_option_for_jq + '"]');
// this works, and the on click is captured
prev_chosen_d_option.find('.hover_target').trigger("click", true);
// this selects the radio button, but DOES NOT fire the on click function seen below
prev_chosen_d_option.find('#d_standard_use_b_as_s_no').trigger("click", true);
這些都是我的單選按鈕:
<input type="radio" value="yes" id="d_standard_use_b_as_s_yes" name="d_standard_use_b_as_s">
<input type="radio" value="no" id="d_standard_use_b_as_s_no" name="d_standard_use_b_as_s">
$("#d_options_table .d_option_row .hover_target").on("click", function(e, isFirstLoad) {
// it comes in here fine!
});
$('input[name=d_standard_use_b_as_s], input[name=d_next_day_use_b_as_s], #del_standard_use_b_as_s_no').on("click", function(e, isFirstLoad) {
// it DOESN'T come in here
});
我不能看到jQuery的是如何能夠選擇單選按鈕,併成功地檢查它,但on
方法不把它撿起來作爲點擊......特別是當我在代碼中運行非常接近的非常類似的設置時。
我知道肯定單選按鈕是選擇中,我可以傾倒出來用console.log
控制檯。有趣的是,當我傾倒了連接到它到控制檯的事件,我得到undefined
從這個的trigger
後:
console.log(prev_chosen_d_option.find("#_standard_use_b_as_s_no").data('events'));
(我使用jQuery 1.7.2和測試FF)。
不,可悲的是這沒有效果。它捕獲正常的點擊(與原始代碼一樣),但它不捕獲「觸發器」單擊。你認爲這裏的語法會起作用嗎? – crmpicco
和$(prev_chosen_d_option).find('#d_standard_use_b_as_s_no') 而不是prev_chosen_d_option.find('#d_standard_use_b_as_s_no') ? 而且是正常的,你有#d_standard_use_b_as_s_no而不是 #del_standard_use_b_as_s_no? – FLX
@我在我的代碼FTFY中有一個錯字。 – crmpicco