【问题标题】:Jquery click on new inputJquery单击新输入
【发布时间】:2011-09-20 10:40:51
【问题描述】:

喂,

我有一个关于 jQuery 的小问题

当我添加一个新的输入字段时,我不能在它上面使用点击功能:

var input = $('<input name="image" type="file"/>');
$(this).append(input);
input.click();

有什么想法吗?

谢谢

【问题讨论】:

  • 您是要在点击时绑定处理程序还是要触发点击事件?
  • 您的代码有效,它在输入类型的文件元素上执行点击功能,在这里它打开一个浏览窗口来选择一个文件。你实际上想达到什么目标?单击时绑定要执行的操作?
  • 这确实有效。你能更具体地说明它是怎么做到的吗?
  • 实际上这在 chrome 上不起作用...

标签: jquery input click append


【解决方案1】:

如果您将点击事件处理程序附加到新的input,它将正常工作:

var input = $('<input name="image" type="file"/>');
input.click(function() {
   //Do something
});
$(this).append(input);
input.click();

另一方面,如果您希望新的 input 获取之前定义的事件处理程序,则在最初附加事件时必须使用 live(此示例将单击事件处理程序附加到所有input 元素,包括稍后添加到 DOM 中的元素,比如你的):

$("input").live("click", function() {
   console.log("other clicked"); 
});

【讨论】:

  • 看来 google chrome 是我的问题.... 这在 chrome 上不起作用:&lt;script type="text/javascript"&gt; $(function() { $('#tt').click(); }); &lt;/script&gt; &lt;input name="image" type="file" id="tt"/&gt; 但这是可以的... &lt;input name="image" type="file" id="tt"/&gt;&lt;input type="button" id="test" onclick="$('#tt').click()"/&gt; 感谢 google.... 任何修复 chrome 的想法问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-27
  • 2015-02-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多