【问题标题】:Javascript: Setting onclick dynamically and passing in the element itselfJavascript:动态设置onclick并传入元素本身
【发布时间】:2011-11-18 11:29:17
【问题描述】:

我正在动态创建一些<div> 元素,然后用文本填充它们的innerHTML 属性。我正在尝试像这样设置他们的onclick 事件处理程序:

myDiv.onclick = function() { alert("Hello!") };

我能做到的。我想做的是能够在新定义的onclick 函数中访问值/innerHTML(Javascript 和 DOM 的新手,所以我不确定我在寻找什么术语)。我将如何在为其onclick 属性定义的函数中访问myDiv 的数据? myDiv 会很简单,例如:

<div>StackOverflow</div>

任何帮助将不胜感激!

【问题讨论】:

  • “内容”是我认为的正确术语。

标签: javascript javascript-events


【解决方案1】:

onclick 处理程序在元素的上下文中执行。

myDiv.onclick = function () { alert(this.innerHTML); };

【讨论】:

  • 噢!这一定是我唯一没有尝试过的事情。非常感谢!
【解决方案2】:

在处理程序内部,this 将引用元素。

myDiv.onclick = function() { alert(this.innerHTML) };

Tadaaa :).

【讨论】:

    【解决方案3】:

    我想你所追求的是:

    myDiv.onclick = function () { 
        alert(this.innerHTML); 
        };
    

    我个人会远离 innerText(由于浏览器问题)并使用 innerHTML 作为规则

    【讨论】:

      猜你喜欢
      • 2013-05-17
      • 2015-11-09
      • 2016-10-04
      • 1970-01-01
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多