【问题标题】:Bookmarklet that adds a JavaScript function添加 JavaScript 函数的书签
【发布时间】:2011-09-25 17:05:09
【问题描述】:

我目前正在尝试制作一个书签,其中包括向页面添加 DIV 元素。

我通过将 HTML 代码添加到 body.innerHTML 来做到这一点,并且效果很好。在这个DIV 元素上是一个按钮,应该允许隐藏添加的DIV。因此,我尝试通过 JavaScript 向名为 function hideDiv()innerHTML 添加一个 JavaScript 函数。

新的 JavaScript 被添加到正文中,看起来不错。但它不起作用。

简短示例:

javascript:var b = document.body.InnerHTML; b=b+'<input type="button" onclick="javascript:alert("hello")"/>'; document.body.innerHTML = b;

这个小书签应该添加一个按钮,如果点击它就会显示一个警报。它添加了按钮,但单击它时没有任何反应。

这是一个普遍的问题吗? JavaScript 可以向页面添加(工作)JavaScript 吗?

【问题讨论】:

  • 这是innerHTML,不是InnerHTML

标签: bookmarklet javascript


【解决方案1】:

我认为您应该设置一个 id,然后将函数添加到元素中。像这样:

javascript:var b = document.body.InnerHTML; b=b+'<input type="button" id="test"/>'; document.body.innerHTML = b; document.getElementById('test').onclick = function () { alert('hi')}

【讨论】:

    【解决方案2】:

    javascript: 前缀仅用于href 属性(或action 用于表单)。它不用于onclick 或任何其他事件。删除javascript:,您的代码应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 2011-08-27
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多