jQuery动态创建DOM之后,给新创建的DOM绑定事件。

系统管理员 2022-05-20 00:27 336阅读 0赞

先上两张图,说明一下将要实现的效果
这里写图片描述
这里写图片描述

根据下拉列表的选择的不同,展示不同的内容。
刚开始我的做法是,找到dom元素,直接绑定change事件,结果什么效果没有。
上代码。。

  1. $("#select-type").change(function () {
  2. console.log(1);
  3. if($("#select-type option:selected").text()=="选择题"){
  4. $(".filling-up").css("display","none");
  5. }else{
  6. $(".select-item").hide();
  7. $(".filling-up").css("display","table");
  8. }
  9. });

这么写,压根儿不会打出来,因为js代码执行完了,dom还没创建呢。

后来看了陈三的博客 https://blog.zfanw.com/jquery-dynamic-insert-element-bind-event/

修正了一下

  1. $(document).on("change", "#select-type", function () {
  2. if ($("#select-type option:selected").text() == "选择题") {
  3. $(".filling-up").css("display", "none");
  4. $(".select-item").css("display", "table-row");
  5. } else {
  6. $(".select-item").css("display", "none");
  7. $(".filling-up").css("display", "table-row");
  8. }
  9. });

结果就奇迹般的实现了。感谢陈三大哥的博客,牛批!!!

发表评论

表情:
评论列表 (有 0 条评论,336人围观)

还没有评论,来说两句吧...

相关阅读

    相关 jQuery动态事件

    jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。在1.7版本以前使用live。但是在1.8