Javascript按钮点击没有效果

问题描述:

我有一个asp按钮,当我点击一个普通的html按钮时,我希望被一个javascript函数点击。但是,当它到达button.click()时,没有任何效果。如果我查看调试器,那么函数中的所有其他操作都是正常的,如果我自己单击asp按钮,它将运行我期望的代码,或者如果我在控制台中调用joingameBtn_Click,它也会正确地单击该按钮。我在页面加载时动态创建按钮,以便每个按钮都有一个onclick函数,它传递一个唯一的id。Javascript按钮点击没有效果

function joinGameBtn_Click(campaignid) { 
    var temp = document.getElementById('CampaignID'); 
    temp.value = campaignid; 

    var button = document.getElementById("CampaignBtn"); 
    button.click(); 
} 

function createFunction(id) { 
    return function() { joinGameBtn_Click(id); }; 
} 

//Where the button is created 
var hoverbutton = document.createElement('button'); 
hoverbutton.id = 'hoverbutton'; 
var func = createFunction(campId); 
hoverbutton.onclick = func; 

阅读一些其他职位后,我看到了,有时动态创建的按钮,可以在该事件侦听器的问题是不依赖于他们。提到了一些建议,确保文档已准备就绪,所以我也尝试了这一点,但无济于事。

$(document).ready(function() { 
$(document).on('click', '#hoverbutton', function() { 
    $("#CampaignBtn").click(); 
    }); 
}); 

编辑:这里是有问题的asp.net按钮。

<asp:Button ID="CampaignBtn" runat="server" Text="Button" style="display:none;" OnClick="joinGame_Click" ClientIDMode="Static"/> 

这里是服务器端的按钮,点击功能:

public void joinGame_Click(object sender, EventArgs e) 
    { 
     Session["campaignid"] = int.Parse(CampaignID.Value); 
     Response.Redirect("CampaignSession.aspx"); 

    } 
+0

你正在创建一个函数,当它被触发时,返回一个函数。 – Fallenreaper

+0

这是来自以前版本的遗物,我从未改回过 – TheOleGaffer

+0

您可以发布有问题的按钮之一的html吗? – nurdyguy

我改变了我的ASP按钮,一个普通的HTML按钮,这似乎解决问题

<button onserverclick="joinGame_Click" runat="server" id="CampaignBtn" ClientIDMode="Static">Button</button> 

不知道是否固定与重复的id的问题也起到了作用。