gpt4 book ai didi

javascript - OnClick 事件未触发

转载 作者:行者123 更新时间:2023-11-30 10:56:02 25 4
gpt4 key购买 nike

我创建了一个非常简单的测试页面来复制我在应用程序中遇到的问题。很抱歉,对于如此琐碎的事情,这看起来很啰嗦。

.aspx 页面:

<body>
<form id="form1" runat="server">
<asp:TextBox ID="tb" runat="server"></asp:TextBox>
<asp:Button ID="btnOk" runat="server" text="OK" Width="60px" UseSubmitBehavior="true" OnClientClick="saveAmendments();" />
</form>

在后面代码的 page_load 中,我向文本框添加了一个 onchange 属性:

if (!IsPostBack)
{
tb.Attributes.Add("onchange", "addSaveDetails('abc###123###456###test###abc###');");
}
}

渲染如下:

<body>
<form name="form1" method="post" action="TestJP.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUi3er8ht8oaCZzy2..." />
</div>

<div>
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwKOoa..." />
</div>

<input name="tb" type="text" value="testtt" id="tb" onchange="addSaveDetails('abc###123###456###test###abc###');" />
<input type="submit" name="btnOk" value="OK" onclick="saveAmendments();" id="btnOk" style="width:60px;" />
</form>

因此,如果我更改文本框中的值并单击屏幕上的其他位置,AddSaveDetails 函数将触发。然后单击按钮,saveAmendments 将触发。但是,如果您更改文本然后立即单击按钮(而不是首先单击屏幕上的其他位置),则只有第一个 (onchange) 函数会触发。 onClick 事件永远不会发生。被调用的 js 除了发出警报外什么都不做。什么可以阻止事件冒泡到最后一次调用?

最佳答案

除了警报之外,请尝试从您的函数中返回 true。我假设事件操作传播正在停止,因为您返回 false(或什么都没有,这被解释为 false)。

关于javascript - OnClick 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1508848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com