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");
}
答
我改变了我的ASP按钮,一个普通的HTML按钮,这似乎解决问题
<button onserverclick="joinGame_Click" runat="server" id="CampaignBtn" ClientIDMode="Static">Button</button>
不知道是否固定与重复的id的问题也起到了作用。
你正在创建一个函数,当它被触发时,返回一个函数。 – Fallenreaper
这是来自以前版本的遗物,我从未改回过 – TheOleGaffer
您可以发布有问题的按钮之一的html吗? – nurdyguy