将.on() - keyup分配给动态创建的元素

时间:2015-05-05 00:51:09

标签: javascript jquery css

这个脚本的想法是允许动态创建的元素响应一个keyup函数,该函数根据文本表单内部的内容更改内部html(或jQuery text())。

每个动态创建的元素都有自己的文本形式和标题。因此,无论您在给定元素的文本形式中键入什么,都应该成为包含在标记中的元素的标题。

我尝试了几种方法,但我不能让它发挥作用。最好的方法是什么?

这是我最近的尝试 - http://jsfiddle.net/gnkxxgjz/1/

$('body').on('keyup', '.qForms', function() {
    var nameOfLoan = [];

    var loanOfName = function(t) {
        if ($(this).hasClass('.loanNameV'+t)) {
                $('body').on('keyup', '.qForms', function() {
                        var loanN = $('.loanNameV'+t).val();
                        $('.nameLoan'+t).text(loanN);
                });
    }
        else {
            return false;
        }
    };

    for (var t=1; t < z; t++) {
        nameOfLoan[t] = loanOfName(t);
    }

    for (var j=1; j < z; j++) {
        nameOfLoan[j]();
    }
});

2 个答案:

答案 0 :(得分:0)

看看这个Fiddle

<button onclick="crea()">create</button>
<div id="d1">
</div>


function crea(){

    $('#d1').append( $("<h2></h2><input>").on('keyup',function(){
        $(this).prev().html( $(this).val() );
    }) )

}

答案 1 :(得分:0)

这些方面的东西:

$(document).on("keypress", $("input"), function(e){
    console.log($(e.target).attr("id"))
});

这将向控制台输出您键入的任何输入字段的id属性。请提供输入和文本元素的关联方式,我可以在此代码段中链接它们。