gpt4 book ai didi

ASP.NET 中 jQuery Click 与 User Click 的不同行为

转载 作者:行者123 更新时间:2023-12-01 04:22:44 25 4
gpt4 key购买 nike

问题如下:

我在 UserControl_2 中有一个 UserControl_1,并且 UserControl_1 有一个由 UserControl_2 订阅的事件。单击 UserControl_1 中的按钮时会触发此事件。

当用户手动单击此按钮时,一切正常,并且事件已很好地路由到 UserControl_2 中的处理程序,但是当通过 jQuery 单击此按钮时,事件不会路由到 UserControl_2。

问题在于,尽管 UserControl_1 中的按钮处理程序正在被调用,但当尝试将事件路由到 UserControl_2 时,处理程序为空,就好像没有控件订阅它一样。

在 UserControl_1 中路由/冒泡事件的代码如下:

public event MyFileUploadCommandEventHandler UploadDone;

protected virtual void OnUploadDone(MyFileUploadCommandEventArgs e)
{
if (UploadDone != null)
{
UploadDone(this, e);
}
}

这里,当通过 jQuery 中的单击调用时,UploadDone 处理程序始终为 null。

我的 jQuery 方法已经用两种方法进行了测试,结果相同:

function DoneCallback() {
$("[id*='btnDoneCallback']").click();
}

function DoneCallback() {
__doPostBack('<%=btnDoneCallback.UniqueID%>', '');
}

用户单击和导致此行为的 jQuery 单击事件之间有什么区别?

谢谢!

最佳答案

我通过将控件的 id 作为 javascript 函数的参数传递来解决了这个问题:

function DoneCallback(ctl) {
var id = '#' + ctl;
$(id).click();
}

并将其命名为:

<div onclick="javascript:DoneCallback('<%=btnDoneCallback.ClientID%>');">CLICK ME!</div>

感谢您的帮助!

关于ASP.NET 中 jQuery Click 与 User Click 的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9100845/

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