【问题标题】:Firing a click event in Internet Explorer在 Internet Explorer 中触发点击事件
【发布时间】:2012-02-21 21:28:53
【问题描述】:

我正在使用以下代码在单击另一个按钮时触发单击事件。它在 Firefox 中运行良好。但是,在 IE 8 和 9(兼容模式)中,达到了触发事件的代码,但从未触发事件(通过写入事件日志确认)我错过了什么吗?

提前谢谢你

$('#" + cmdSaveContactDetails.ClientID + @"').click(function() {
    var areasOfInterestSaveButton = $('#ctl00_TabControl_element_AreasOfInterest_element_view_AreasOfInterest_AreasOfInterest_cmdSaveAreasOfInterest');                
    $(areasOfInterestSaveButton).click();
});    

事件处理程序:

private void cmdSaveAreasOfInterest_Click(object sender, ImageClickEventArgs e)
{
    EventLog.WriteEntry("JR Saving", "");
}

【问题讨论】:

  • 请贴出事件触发代码和事件处理代码..
  • 在客户端检查。单击第二个按钮时使用警报。
  • 你是否绑定了$(document).ready事件中的第一个.click事件处理函数?
  • 执行以下工作:__doPostBack('" + byButton.ClientID + "', '');(或者您正在获取按钮的 ID)
  • @Rocket:很有可能,是的。 ASP 根据容器位置应用控件 ID(除非您使用静态 ID)

标签: javascript jquery button click


【解决方案1】:

如果我正确理解了这个问题,在 jQuery 中触发事件的正确方法是使用 the trigger() method

$(areasOfInterestSaveButton).trigger('click');

【讨论】:

  • 谢谢。也试过了。结果相同
【解决方案2】:

触发 javascript 点击事件不会(也不应该)触发您的代码隐藏点击处理程序。如果您想从客户端触发事件处理程序,请将处理程序移至客户端或使用 Ajax 调用 Web 方法。

【讨论】:

  • 无法在客户端处理处理程序中的代码。它必须在服务器端处理。
  • @MusicMagi 那么您需要进行 ajax 调用。如果不做一些工作,你就不能越界:)
  • 你能给我一个例子来说明如何使用 Ajax 来完成吗?感谢您的 cmets
  • @MusicMagi 我建议您自己尝试一下,如果遇到问题,请提出其他具体问题。
猜你喜欢
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
  • 2011-09-30
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多