Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery附加的html未检测到javascript?_Jquery_Html_Ajax_Append - Fatal编程技术网

jquery附加的html未检测到javascript?

jquery附加的html未检测到javascript?,jquery,html,ajax,append,Jquery,Html,Ajax,Append,很抱歉,如果我的问题没有意义,但这是我能说的最好的方式,我有一个jquery脚本,当用户单击登录链接时,它会附加html表单来执行此操作,这很好,但是附加的(登录表单)使用jquery登录到站点,但它似乎没有检测到javascript 与我没有附加的登录表单相反,通常在页面上,它可以正常工作,它可以检测javascript,但在附加时不会检测 我希望你能理解我刚才说的话(谢谢:)) 代码有点长,但我缩短了它以用于幻觉 这是因为通常情况下,当脚本第一次运行时,jQuery会将事件绑定到DOM中已经

很抱歉,如果我的问题没有意义,但这是我能说的最好的方式,我有一个jquery脚本,当用户单击登录链接时,它会附加html表单来执行此操作,这很好,但是附加的(登录表单)使用jquery登录到站点,但它似乎没有检测到javascript

与我没有附加的登录表单相反,通常在页面上,它可以正常工作,它可以检测javascript,但在附加时不会检测

我希望你能理解我刚才说的话(谢谢:))

代码有点长,但我缩短了它以用于幻觉


这是因为通常情况下,当脚本第一次运行时,jQuery会将事件绑定到DOM中已经存在的元素。以后添加的元素需要进行不同的绑定,通常使用

而不是:

$('#elementAddedLater').click(function(){/*....*/});
尝试:

上面链接的函数名提供了可以通过
.live()


正如下面@Pointy所指出的,它也值得一看,它似乎提供了与
.live()
几乎相同的功能,但更简洁明了。

这是因为通常情况下,当脚本第一次运行时,jQuery会将事件绑定到DOM中已经存在的元素。以后添加的元素需要进行不同的绑定,通常使用

而不是:

$('#elementAddedLater').click(function(){/*....*/});
尝试:

上面链接的函数名提供了可以通过
.live()


正如下面@Pointy所指出的,它也值得一看,它似乎提供了与
.live()
几乎相同的功能,但更简洁明了。

发生这种情况的原因是您的事件顺序:

  • 文件装载火灾
  • submit()
  • 用户单击将元素添加到页面的按钮
  • 您可以使用或更改顺序来解决此问题。(自jQuery 1.4.1 IIRC起,
    submit
    事件的实时连线是新的)


    发生这种情况的原因是您的事件顺序:

  • 文件装载火灾
  • submit()
  • 用户单击将元素添加到页面的按钮
  • 您可以使用或更改顺序来解决此问题。(自jQuery 1.4.1 IIRC起,
    submit
    事件的实时连线是新的)


    同样值得一看的是
    .delegate()
    函数,它在某些方面优于
    .live()
    ;它当然更灵活。还值得一看的是
    .delegate()
    函数,它在某些方面优于
    .live()
    ;提供了一个答案后,值得注意的是JS Fiddle并没有真正实现Ajax(或者似乎没有),所以我没有看到任何元素被动态添加到页面中。你有一个测试站点可以演示你的问题吗?或者我遗漏了什么?提供了一个答案,值得注意的是JS Fiddle并没有真正实现Ajax(或者似乎没有),所以我没有看到任何元素被动态地添加到页面中。你有一个测试站点可以演示你的问题吗?还是我遗漏了什么?
    $('#regForm2').live('submit', function(e){});