我对jQuery有一个非常奇怪的问题,我在触发单击一个单选按钮,但它没有完全触发,并且没有被on
单击函数捕获,但是对jQuery {{{{{ 1}} 被捕获。
在以下jQuery中,我选择trigger
并使用<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);
我无法看到jQuery如何能够选择单选按钮并成功检查它,但是<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
});
方法不能单击它...特别是当我有一个非常类似的设置时在代码中靠近运行。
我确定单选按钮位于选择器内,因为我可以使用on
将其转储到控制台。有趣的是,当我将附加到其上的事件转储到控制台时,我会在 console.log
之后从获得undefined
:
trigger
(我正在使用jQuery 1.7.2并在FF中进行测试)。
答案 0 :(得分:0)
而不是
$('input[name=del_standard_use_b_as_s], input[name=del_next_day_use_b_as_s], #del_standard_use_b_as_s_no').on('click', function(e) {
//
});
尝试:
$(document).on('click', 'input[name=del_standard_use_b_as_s], input[name=del_next_day_use_b_as_s], #del_standard_use_b_as_s_no', function(e) {
//
});
答案 1 :(得分:0)
这不起作用的原因只是我在下面的点击处理程序实际上触发了代码中的点击。