0

我对 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 中进行测试)。

4

2 回答 2

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) {
 // 
});
于 2013-05-22T11:43:12.007 回答
0

这不起作用的原因只是我在下面有点击处理程序,我实际上在代码中触发了点击。

于 2013-06-19T13:41:36.513 回答