当前位置: 首页 > 面试题库 >

在JavaScript中使用点击事件创建动态按钮

尉迟浩思
2023-03-14
问题内容

如何使用JavaScript使用点击事件创建动态按钮?

我尝试了此操作,但是当我单击添加按钮时,会显示一条警告消息!这不是我想要的-我希望能够单击动态创建的按钮。

<script language="javascript">
    function add(type) {
        //Create an input type dynamically.   
        var element = document.createElement("input");
        //Assign different attributes to the element. 
        element.setAttribute("type", type);
        element.setAttribute("value", type);
        element.setAttribute("name", type);
        element.setAttribute("onclick", alert("blabla"));

        var foo = document.getElementById("fooBar");
        //Append the element in page (in span).  
        foo.appendChild(element);

    }
</script>

问题答案:

哇,你近了。编辑评论:

function add(type) {

  //Create an input type dynamically.

  var element = document.createElement("input");

  //Assign different attributes to the element.

  element.type = type;

  element.value = type; // Really? You want the default value to be the type string?

  element.name = type; // And the name too?

  element.onclick = function() { // Note this is a function

    alert("blabla");

  };



  var foo = document.getElementById("fooBar");

  //Append the element in page (in span).

  foo.appendChild(element);

}

document.getElementById("btnAdd").onclick = function() {

  add("text");

};


<input type="button" id="btnAdd" value="Add Text Field">

<p id="fooBar">Fields:</p>

现在,onclick您可以考虑使用addEventListener(在大多数浏览器上)或attachEvent(在除最近的Microsoft浏览器之外的所有其他浏览器上)使用设置元素的属性(称为“
DOM0事件处理”),而不是设置元素的属性-您必须检测并处理两种情况-这种形式的“
DOM2事件处理”具有更大的灵活性。但是,如果您不需要多个处理程序,则可以使用旧的DOM0方法。

与上述内容分开:您可以考虑使用优质的JavaScript库,例如jQuery,Prototype,YUI,Closure或[其他几种。它们可以平滑浏览器之间的差异,例如addEventListener/attachEvent,提供有用的实用程序功能以及其他各种功能。显然,没有库是无法做的,没有库,因为库只是JavaScript代码。但是,当你使用一个好的图书馆有广泛的用户基础,你得到的好处巨大已经被其他人处理这些浏览器的差异,等完成的工作数量



 类似资料:
  • 问题内容: 我的要求是创建等于json数组计数的按钮数。我成功地在jquery中动态创建了按钮。但是单击动作不会调用jquery的.ready函数中的方法。我曾尝试在SO中搜索。找不到解决方案,但对我没有任何帮助。我对jquery非常陌生。请帮忙… 我的代码:jQuery: 编辑-示例.on方法代码-单独的文件:工作-谢谢 问题答案: 动态创建按钮是因为,如果使用jquery 1.7,则需要使用m

  • 我试图使用wro4j创建这个基础结构,用户可以通过它来决定绑定哪些js文件,只需编辑模板,而不需要接触任何Java代码。因此,像http://.../bundle/scrip1.js/scrip2.js/script3.js/script4.js这样的请求将返回一个按要求顺序包含所有四个脚本的包。 但是,必须事先以xml或自定义WroModelFactory实现指定具有资源的组,这仍然不能提供足够

  • 问题内容: 首先,我很抱歉如果这个答案已经在这里,因为我已经搜索了几个星期,还没有找到任何东西。 我正在开发一个Android应用,该应用需要允许用户创建和删除按钮。我知道如何通过将按钮添加到XML文件并在JAVA文件中创建其功能来正常静态地创建按钮。 相反,我有一个静态按钮,我将其称为“创建按钮”。当用户按下“创建按钮”时,应该给他们选择向当前活动添加新按钮的选项,允许他们更改该按钮的标题等。他

  • 本文向大家介绍JavaScript给按钮绑定点击事件(onclick)的方法,包括了JavaScript给按钮绑定点击事件(onclick)的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript给按钮绑定点击事件(onclick)的方法。分享给大家供大家参考。具体分析如下: 我们可以通过设定按钮的onclick属性来给按钮绑定onclick事件  PS:这里再为大家推荐

  • 问题内容: 这个问题的答案是 社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我有一些代码,在其中循环浏览页面上的所有选择框,并将事件绑定到它们上,以使它们的宽度变窄。 这在页面准备就绪时发生,并且工作正常。 我的问题是,在初始循环之后,我通过Ajax或DOM添加的所有选择框都没有事件绑定。 我已经找到了这个插件([jQuery Live Query Plugin](),但是在

  • 下面是.java文件中的代码