如何将事件和事件类型动态添加到Java脚本而不是jquery中的元素

Swarna Sekhar Dhar

我正在尝试通过如下功能将事件添加到元素

function addevent(elements,event_n,function_n,param_trs)
    {
          var i = elements.length; 
       while (i--){ 
           function_name=function_n+"(this.getAttribute('"+param_trs+"'))";
           //function_name=function_n ;
           elements[i].addEventListener(event_n,function_name);
          // console.log(function_name);
       }
    }

这给出了错误:

TypeError:值不是对象。

在elements [i] .addEventListener(event_n,function_name);

这样我就可以按照以下步骤

addevent(document.querySelectorAll('tr'),'click','view_details','request_id');

将点击事件添加到所有tr示例:

<tr request_id="5" onclick="view_details(this.getAttribute('request_id'))" >

或者

<tr request_id="5" onclick="view_details(this)" >

我如何通过上面的功能做到这一点

亭子

将函数名称作为字符串传递确实是一个坏主意。以字符串格式附加代码也是如此,例如"(this.getAttribute('"+param_trs+"'))"这将需要解析,就像这样eval做一样。它效率低下,并可能导致与相关eval问题

函数可以作为参数而不是字符串传递,但可以作为实函数引用传递。其次,事件处理程序函数在执行时而不是之前检索属性值会更合适。

因此,这里有一个片段介绍了这个想法。该演示将使用该属性data-inc来确定应将数字增加多少。

function addEventListeners(elements, event_n, attrib_n, func) {
    var i = elements.length; 
    while (i--) { 
        // bind the attribute name as argument to the function.
        elements[i].addEventListener(event_n, func.bind(elements[i], attrib_n));
    }
}

// Demo:
addEventListeners(document.querySelectorAll('span'), 'click', 'data-inc',
    function(attrib_n) { 
        this.textContent = +this.textContent + +this.getAttribute(attrib_n);
    }
);
span { border: 1px solid; padding: 2px; background: #C0FFC0 }
Click on numbers to change them:<br>
Per 5: <span data-inc="5">0</span> Per 7: <span data-inc="7">0</span>
Per 1: <span data-inc="1">0</span>
Per -1: <span data-inc="-1">0</span>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据添加到动态创建的元素并绑定事件

来自分类Dev

使用JQuery将事件列表添加到动态添加的元素吗?

来自分类Dev

如何将onclick事件添加到joint.js元素?

来自分类Dev

如何将侦听器事件添加到由DefaultListModel对象添加的JList元素?

来自分类Dev

如何将jquery ui事件处理程序动态添加到动态创建的按钮?

来自分类Dev

尝试将加载事件添加到锚定元素(JQuery)

来自分类Dev

如何将事件添加到jQuery的on()回调?

来自分类Dev

如何将Java数组元素添加到Java脚本数组中?

来自分类Dev

如何将事件侦听器添加到使用Jquery Event构造函数创建的Jquery Event中

来自分类Dev

将事件侦听器添加到动态创建的元素中

来自分类Dev

如何将onclick事件添加到动态生成的HTML元素

来自分类Dev

打字稿的强类型事件包。如何将绑定的handelers添加到事件

来自分类Dev

如何将事件侦听器添加到动态创建的HTML列表元素?

来自分类Dev

使用JS或Jquery将事件添加到动态创建的元素中

来自分类Dev

将事件侦听器添加到使用Javascript从API捕获的动态生成的元素中

来自分类Dev

如何将事件侦听器添加到仅按钮元素

来自分类Dev

如何将事件侦听器添加到数组中的每个元素?

来自分类Dev

如何将click事件添加到由服务器端创建的JQuery元素中

来自分类Dev

使用JQuery将事件列表添加到动态添加的元素吗?

来自分类Dev

尝试将事件动态添加到jQuery事件日历

来自分类Dev

如何将侦听器事件添加到由DefaultListModel对象添加的JList元素?

来自分类Dev

如何将事件添加到在运行时创建的元素?

来自分类Dev

jQuery-将click事件添加到动态创建的元素中

来自分类Dev

如何将Java数组元素添加到Java脚本数组中?

来自分类Dev

如何将事件添加到通过单击按钮动态创建的PictureBox中?(C#)

来自分类Dev

使用jQuery将“ onClick”事件添加到动态div

来自分类Dev

如何将ID,值和onclick事件添加到动态生成的div

来自分类Dev

如何将更改事件动态添加到 angular 4 中的外部下拉列表组件

来自分类Dev

将鼠标事件添加到动态创建的元素Vuejs

Related 相关文章

  1. 1

    将数据添加到动态创建的元素并绑定事件

  2. 2

    使用JQuery将事件列表添加到动态添加的元素吗?

  3. 3

    如何将onclick事件添加到joint.js元素?

  4. 4

    如何将侦听器事件添加到由DefaultListModel对象添加的JList元素?

  5. 5

    如何将jquery ui事件处理程序动态添加到动态创建的按钮?

  6. 6

    尝试将加载事件添加到锚定元素(JQuery)

  7. 7

    如何将事件添加到jQuery的on()回调?

  8. 8

    如何将Java数组元素添加到Java脚本数组中?

  9. 9

    如何将事件侦听器添加到使用Jquery Event构造函数创建的Jquery Event中

  10. 10

    将事件侦听器添加到动态创建的元素中

  11. 11

    如何将onclick事件添加到动态生成的HTML元素

  12. 12

    打字稿的强类型事件包。如何将绑定的handelers添加到事件

  13. 13

    如何将事件侦听器添加到动态创建的HTML列表元素?

  14. 14

    使用JS或Jquery将事件添加到动态创建的元素中

  15. 15

    将事件侦听器添加到使用Javascript从API捕获的动态生成的元素中

  16. 16

    如何将事件侦听器添加到仅按钮元素

  17. 17

    如何将事件侦听器添加到数组中的每个元素?

  18. 18

    如何将click事件添加到由服务器端创建的JQuery元素中

  19. 19

    使用JQuery将事件列表添加到动态添加的元素吗?

  20. 20

    尝试将事件动态添加到jQuery事件日历

  21. 21

    如何将侦听器事件添加到由DefaultListModel对象添加的JList元素?

  22. 22

    如何将事件添加到在运行时创建的元素?

  23. 23

    jQuery-将click事件添加到动态创建的元素中

  24. 24

    如何将Java数组元素添加到Java脚本数组中?

  25. 25

    如何将事件添加到通过单击按钮动态创建的PictureBox中?(C#)

  26. 26

    使用jQuery将“ onClick”事件添加到动态div

  27. 27

    如何将ID,值和onclick事件添加到动态生成的div

  28. 28

    如何将更改事件动态添加到 angular 4 中的外部下拉列表组件

  29. 29

    将鼠标事件添加到动态创建的元素Vuejs

热门标签

归档