onclick属性的jQuery <input />元素问题

时间:2011-07-23 18:42:43

标签: jquery

我想要一个带有onclick属性的元素。当我使用jQuery时,它似乎不起作用。这是我的代码:

$("h1").append($("<input>", {type: "text", onclick: "alert();"}));

以下代码可以工作:

<input type="text" onclick="alert();"></input>

3 个答案:

答案 0 :(得分:3)

为什么不:

$("h1").append($("<input>").attr("type","text").click(function(){alert()}));

答案 1 :(得分:2)

你真的想要onclick属性,你想要使用jQuery的click事件。设置onclick属性在大多数浏览器中都有效,但它不会利用jQuery的规范化事件和跨浏览器支持。

此外,您没有正确使用jQuery工厂方法,它所采用的第二个参数是选择器的上下文,或者,在您创建html的情况下,要创建的元素的所有者文档你真的应该花一些时间阅读api

您可以在jQuery中链接大多数方法,因此执行所需操作的“jQuery方式”是:

$('<input>').attr('type', 'text').click(function(){alert();}).appendTo('h1');

答案 2 :(得分:0)

如下:

$('h1').append('<input type="text">').find('input').live('click', function () {
    alert('bam');
});
编辑:是的,我注意到David Thomas的评论是正确的,只是将警报更改为实际输出的内容正常。