呼叫.load无法正常工作

时间:2013-05-22 06:19:51

标签: javascript jquery

我有一个页面xyz.jsp,它在页面加载时有一个脚本,并且工作正常。

  function loginRegOverlay() {
           $("#hiddenLoginButton").click();
         };

但如果我在jquery abc.jsp页面上的.load上调用此页面正在渲染但

$("#hiddenLoginButton").click(); is not working.

不知道为什么不来。

请告诉我它正在加载xyz.jsp但是如果我在abc.jsp上调用那个页面它不能正常工作

添加abc.jsp中的代码:

 function newstyle(){
          $("#test").load("xyz.jsp");
      };

所以,newstyle在abc.HTML上调用onload渲染很好但是

function loginRegOverlay() {
       $("#hiddenLoginButton").click();
    }; 

在xyz.jsp中工作正常,如果我在abc.jsp上调用它,我现在希望它清楚。

3 个答案:

答案 0 :(得分:0)

尝试。触发器,如

$("#hiddenLoginButton").trigger('click');

我们假设您在页面加载时调用了函数loginRegOverlay()

我注意到你在xyz.jsp中编写了代码,你想在abc.jsp上触发它然后在abc.jsp中包含xyz.jsp

inlcude('xyz.jsp');

和plz确保那些按钮id是唯一的,因为xyz是abc上的加载,并且由于id中的重复它们不能工作,你可以给它们同一个类并将其解雇为

答案 1 :(得分:0)

.load()是一个ajax请求,所以如果你从其他页面加载元素,那么直接将事件绑定到元素将不起作用。因此,解决方法是事件委派,您必须将事件委托给从其他页面加载html的现有父项。

$(document).find('#hiddenLoginButton').click();

您可以将其委托给页面加载时可用的最近父级:

$('#ID or .Class of the parent item').find('#hiddenLoginButton').click();

像:

$('#wrapper').find('#hiddenLoginButton').click();

旁注:

如果你能发布一些渲染的html,那么看看会发生什么以及建议克服这个问题会好得多。

答案 2 :(得分:0)

您可以使用.live或.on方法进行事件委派

$("#hiddenLoginButton").live('click', function(){});