javascript - 如何将 javascript 函数绑定(bind)到 DOM 上动态添加的元素?

标签 javascript html css drop-down-menu classiejs

我正在尝试使用我在 codrop 中找到的一些可用的 JavaScript 代码来创建自定义选择框,但我无法绑定(bind)此 javascript 函数

(function() {
        [].slice.call( document.querySelectorAll( 'select.cs-select' ) ).forEach( function(el) {
            new SelectFx(el);
        } );
    })();

动态添加元素。

演示代码:http://codepen.io/AnandAyan/pen/rVpGPJ

最佳答案

介绍一下jQuery .on

$('body').on('click', '.cs-select', function(event) {
  console.log('I fired!!!');
  new SelectFx(this);
});

$('.add').click(function() {
  $('.container').append('<select class="cs-select cs-skin-elastic"><option value="" disabled selected>Select a Country</option><option value="france" data-class="flag-france">France</option><option value="south-africa" data-class="flag-safrica">South Africa</option></select>');
});

http://codepen.io/anon/pen/VLyMJO

但是您可能想在更改时触发一个函数,对吧?


已更新 基于下面我认为正确的评论讨论。谢谢@squint。

$('.add').click(function() {
  var $newElement = $('<select class="cs-select cs-skin-elastic"><option value="" disabled selected>Select a Country</option><option value="france" data-class="flag-france">France</option><option value="south-africa" data-class="flag-safrica">South Africa</option></select>');

  $('.container').append($newElement);
  new SelectFx($newElement[0]);
});

关于javascript - 如何将 javascript 函数绑定(bind)到 DOM 上动态添加的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31103082/

相关文章:

javascript - 计算按钮被按下的次数

html - 如何垂直对齐图标字体

javascript - 如何自动填充 HTML 表单并立即提交?

javascript - CSS/cut an img's width when reducing the screen/window width 减少屏幕/窗口宽度

javascript - ImmutableJS - 更新列表中的值

jquery - 如何将一个类添加到一个元素并保持它在那里直到鼠标离开 animate.css?

php - 退出弹出窗口无法正常工作

javascript - 如何缩放 Canvas 绘图

javascript - jQuery - 添加热键

html - 如何在表单中制作全宽字段?