我对 jQuery 有一个非常奇怪的问题,我触发了对单选按钮的单击,但它没有完全触发并且没有被单击函数捕获,但是正在on
捕获对 jQuery 的类似调用。 trigger
在下面的 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 中进行测试)。