Javascript 单击不触发jQuery

Javascript 单击不触发jQuery,javascript,jquery,html,Javascript,Jquery,Html,我知道这个问题已经被问了几千次了,但我似乎无法解决我的问题。我只需要再多看一眼,看看我做错了什么,或者我错过了什么 这是我的密码: <div class="image-container"> @foreach (var image in Model) { <a href="#" class="returnImage" data-url="@Request.Url.GetLeftPart(UriPartial.Authority)@image.Url">

我知道这个问题已经被问了几千次了,但我似乎无法解决我的问题。我只需要再多看一眼,看看我做错了什么,或者我错过了什么

这是我的密码:

<div class="image-container">
  @foreach (var image in Model)
  {
    <a href="#" class="returnImage" data-url="@Request.Url.GetLeftPart(UriPartial.Authority)@image.Url">
      <img src="@image.Url" id="UploadImage" data-source="@image.Url" width="200" height="200">
    </a>
  }
</div> 

<script>
  $(document).ready(function () {
    $("div.image-container").on("click", ".returnImage", function(e) {
      var urlImage = $(this).attr("data-url");
      window.opener.updateValue("cke_72_textInput", urlImage);
      window.close();
    });
  });
</script>

@foreach(模型中的var图像)
{
}
$(文档).ready(函数(){
$(“div.image-container”)。在(“单击”,“返回图像”,函数(e){
var urlImage=$(this.attr(“数据url”);
window.opener.updateValue(“cke_72_textInput”,urlImage);
window.close();
});
});

使用FireBug进行调试不会显示任何错误,当我在“单击”函数上设置断点时,它不会被命中/触发。我在这里遗漏了什么?

可能发生的是,当您单击标签时,
标签优先,从而抑制了您的
div.image-container
元素的单击事件

如果您打算让用户单击整个容器本身,请尝试为模型中的每个图像使用
标记之外的其他标记

如果您打算在
div.image-container
中的每个
标记上放置一个单击处理程序,那么jQuery事件行应该如下所示:

$("div.image-container a").click(function(e) {
试试这个:

$(".returnImage").on("click", function(e) {
  //whatever action code
});

当什么都没有触发时,可能是您的弹出窗口拦截器认为您的脚本正在尝试hi-jack浏览器,因此正在阻止它,特别是因为它是一个


您是否尝试在函数中添加一个
警报
框来验证它是否正在触发?除了结果之外,您知道什么?我不知道你用什么样的框架来处理手柄。如果你不明白客户端代码中发生了什么,就不要看服务器端CODE@kojow7是的,我有,而且它从来没有被炒过。我做了一把小提琴,它看起来像预期的那样工作。或者在非常小心的情况下,您可以使用.preventDefault()例程函数对其进行缓冲。谢谢您的回答!不幸的是,这也不起作用。我想他们可能是项目中其他地方的问题导致了这个问题。谢谢你的回答!不幸的是,这也不起作用。我想他们可能是项目中其他地方的问题导致了这个问题。我也不知道
preventDefault()
做了什么,所以感谢您提供的信息!
  $(document).ready(function () {
    $(".returnImage").on("click", function(e) {
      e.preventDefault();
      var urlImage = $(this).attr("data-url");
      window.opener.updateValue("cke_72_textInput", urlImage);
      window.close();
    });
  });