Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么';创建同时包含输入和标签的嵌套div,然后在输入上分配事件的最佳方法是什么?_Javascript_Jquery_Html_Dom - Fatal编程技术网

Javascript 什么';创建同时包含输入和标签的嵌套div,然后在输入上分配事件的最佳方法是什么?

Javascript 什么';创建同时包含输入和标签的嵌套div,然后在输入上分配事件的最佳方法是什么?,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我想动态创建一个div,然后在该div中创建一个标签和输入,然后将事件处理程序(使用jQuery的$.on()函数)分配给输入元素。创建元素和分配事件的好方法是什么?我使用的是jQuery的最新版本。谢谢大家! var var $div = $('<div/>', { 'class': 'myclass', click: function(){ ... } }), $label = ..., $input = ... $div.append($label.add($input)).

我想动态创建一个div,然后在该div中创建一个标签和输入,然后将事件处理程序(使用jQuery的$.on()函数)分配给输入元素。创建元素和分配事件的好方法是什么?我使用的是jQuery的最新版本。谢谢大家!

var
var
$div = $('<div/>', { 'class': 'myclass', click: function(){ ... } }),
$label = ...,
$input = ...

$div.append($label.add($input)).insertAfter('#el')
$div=$(“”,{'class':'myclass',单击:function(){…}), $label=。。。, $input=。。。 $div.append($label.add($input)).insertAfter(“#el”)
var
$div=$(“”,{'class':'myclass',单击:function(){…}),
$label=。。。,
$input=。。。
$div.append($label.add($input)).insertAfter(“#el”)

我已经完成了上述解决方案的完整解决方案,下面是演示链接:

演示:

HTML

<div id="panel">
  <input type="button" id="btnadd" name="btnadd" value="Add Div" />
  <input type="button" id="btnreset" name="btnreset" value="Reset" />
  <br/>
</div>
jQuery:

$(function() {
    var i = 0;
    $("#btnadd").click(function() {
        if ($("#panel").find("div.mydiv").length) {
            i = $("#panel").find("div.mydiv").length;
        }
        $("#panel").append("<div id='div-" + i + "' class='mydiv'></div>");

        $("div.mydiv:last").append("<label>Enter Value:</label>");
        $("div.mydiv:last").append("<input type='text' name='txt" + i + "' id='txt" + i + "' size='20'/><span class='val'></span>");

        //bind Blur Event
        $("div.mydiv:last").find("input[type=text]").on('blur', function() {
            if ($(this).val() != "") {
                $(this).parents(".mydiv").find("span.val").html("This Input Contains Value: \"" + $.trim($(this).val()) + "\"");
            } else {
                $(this).parents(".mydiv").find("span.val").html("This Input has been left empty..!");
            }

        });

        i++;

    });
   //Reset List
    $("#btnreset").click(function() {
        $("div.mydiv", $("#panel")).remove();
    });
});
在注释下方写入以下行脚本//在上述jQuery脚本上绑定模糊事件

$("div.mydiv:last").find("input[type=text]").bind('blur','bindTextbox');
而不是以下代码行:

 $("div.mydiv:last").find("input[type=text]").on('blur', function() {
     if ($(this).val() != "") {
                    $(this).parents(".mydiv").find("span.val").html("This Input Contains Value: \"" + $.trim($(this).val()) + "\"");
      } else {
                    $(this).parents(".mydiv").find("span.val").html("This Input has been left empty..!");
      }
 });

演示:

我已经完成了上述解决方案的完整解决方案,这里是演示链接:

演示:

HTML

<div id="panel">
  <input type="button" id="btnadd" name="btnadd" value="Add Div" />
  <input type="button" id="btnreset" name="btnreset" value="Reset" />
  <br/>
</div>
jQuery:

$(function() {
    var i = 0;
    $("#btnadd").click(function() {
        if ($("#panel").find("div.mydiv").length) {
            i = $("#panel").find("div.mydiv").length;
        }
        $("#panel").append("<div id='div-" + i + "' class='mydiv'></div>");

        $("div.mydiv:last").append("<label>Enter Value:</label>");
        $("div.mydiv:last").append("<input type='text' name='txt" + i + "' id='txt" + i + "' size='20'/><span class='val'></span>");

        //bind Blur Event
        $("div.mydiv:last").find("input[type=text]").on('blur', function() {
            if ($(this).val() != "") {
                $(this).parents(".mydiv").find("span.val").html("This Input Contains Value: \"" + $.trim($(this).val()) + "\"");
            } else {
                $(this).parents(".mydiv").find("span.val").html("This Input has been left empty..!");
            }

        });

        i++;

    });
   //Reset List
    $("#btnreset").click(function() {
        $("div.mydiv", $("#panel")).remove();
    });
});
在注释下方写入以下行脚本//在上述jQuery脚本上绑定模糊事件

$("div.mydiv:last").find("input[type=text]").bind('blur','bindTextbox');
而不是以下代码行:

 $("div.mydiv:last").find("input[type=text]").on('blur', function() {
     if ($(this).val() != "") {
                    $(this).parents(".mydiv").find("span.val").html("This Input Contains Value: \"" + $.trim($(this).val()) + "\"");
      } else {
                    $(this).parents(".mydiv").find("span.val").html("This Input has been left empty..!");
      }
 });

演示:

el指的是什么元素?另外,我想给输入元素分配一个更改函数,而不是div。谢谢您的回复
..
表示同上,与上面相同,但使用
input
而不是
div
#el
是您想要的、已经存在于DOM中的任何容器。谢谢,这非常有用。#el指的是什么元素?另外,我想给输入元素分配一个更改函数,而不是div。谢谢您的回复
..
表示同上,与上面相同,但使用
input
而不是
div
#el
是DOM中已经存在的您想要的任何容器。谢谢,这非常有用。