Jquery .on点击第一次点击不工作

时间:2012-05-16 14:57:59

标签: jquery forms click

我有一个文本字段,我需要设置用户从选择字段中选择选项或在文本字段中输入文本并点击链接时的值。然后两个事件都会关闭包含select和text字段/链接的div。

选择选项有效

$(document).on("change", ".select_choice", function(event) {
    var string = $(this).find("option:selected").text();
    $(this).closest(".select_toggle_area").find(".toggle_choices").toggle();
    $(this).closest(".select_toggle_area").find(".target_input").val(string);
});

文本字段/链接在第二次单击时起作用。无论何时在字段中输入内容,链接在第一次单击时都不起作用。它隐藏div,但不更新目标字段的值。

$(document).on("click", ".text_choice_button", function(event) {
    event.preventDefault();
    var string = $(this).closest(".select_toggle_area").find(".text_choice").val();
    $(this).closest(".select_toggle_area").find(".target_input").val(string);
    $(this).closest(".select_toggle_area").find(".toggle_choices").toggle();
});

6 个答案:

答案 0 :(得分:2)

无法复制

我摆弄了这个,我无法复制它:http://jsfiddle.net/DCM48/

请上传完整的问题以获得进一步的帮助。

-Lededje

答案 1 :(得分:1)

尝试使用委托

$(document).ready(function() {
    $("body").delegate("click", ".text_choice_button", function() {
           your code......
    });
});

答案 2 :(得分:0)

我使用jquery遇到'onclick'处理程序的问题。我发现mousedown是一个更可靠的解决方案。 我发现更好地抓住点击次数。 http://api.jquery.com/mousedown/

答案 3 :(得分:0)

我总是使用这种模式,也许你应该尝试一下。

$(element).click(function() {});

也可以在这里发布你使用javascript的html代码。

答案 4 :(得分:0)

$(function(){
    $("body").click("a, div", function(){
        $("body").append("ping");
    });
});

答案 5 :(得分:-3)

尝试“直播”

$(".text_choice_button").live('click', function(event) {
    event.preventDefault();
    var string = $(this).closest(".select_toggle_area").find("text_choice").val();
    $(this).closest(".select_toggle_area").find(".target_input").val(string);
    $(this).closest(".select_toggle_area").find(".toggle_choices").toggle();
});