Javascript与动态添加的HTML元素一起使用时不会触发

时间:2017-07-15 16:09:36

标签: javascript jquery

我正在使用this Stack Overflow answer中的代码,该代码在点击时复制alt img属性,并在{{1}时将属性粘贴到textarea单击。

该代码适用于在页面加载时加载的静态textarea,但我希望能够动态添加textarea。我在HTML顶部有一个按钮,用于调用加载到新textarea中的函数。该函数位于textarea

的最底部

我无法将<script>属性点击粘贴到动态添加的alt中。我猜这与textarea之类的代码有关,可能只在页面加载时调用?如何将此行为绑定到动态创建的元素?我该怎么看?

document.getElementById(areaId);

1 个答案:

答案 0 :(得分:2)

您需要使用以下event delegation concept: -

$(document).on('click','img',function(){
  console.log($(this).attr('alt'));
    selected = $(this).attr('alt');
});

$(document).on('click','#imageText',function(){
    insertAtCaret('imageText',selected)
  // Clear the selection so it isn't copied repeatedly
  selected = '';
});

注意: - 请勿使用live(),因为它已被弃用。