javascript - LIightBox2 数据标题描述链接与 JavaScript

标签 javascript jquery html lightbox lightbox2

最新版本的 LightBox2 (v2.8.2) 现在允许链接出现在图像下方的文本中。这通常工作得很好。但我的链接需要调用一些javascript代码。

例如,当您单击“Click Here”时,下面的代码可以正常工作。

<a class="example-image-link" 
   href="http://lokeshdhakar.com/projects/lightbox2/images/image-3.jpg" 
   data-title="<a href='http://localhost/'>Click Here</a> ">

   <img class="example-image" src="http://lokeshdhakar.com/projects/lightbox2/images/thumb-3.jpg" alt=""/>
</a>

对于我的代码,我需要 data-title 中的 href 来调用一些 javascript 代码。这些是我尝试过的。

    data-title="  <a href='javascript:submitFormFunction();'  >caption </a> ">  
    data-title="  <a href='#' onclick='submitFormFunction();' >caption </a> ">  
    data-title="  <a href='#' class='submitCreateFromPreview' >caption </a> ">  

这些都不起作用,JavaScript 代码永远不会被调用。看起来,如果 href 不是正常结构的 URL( http://www.google.comhttp://localhost ),它就不会执行任何操作。

这是我的 JavaScript 代码

    $(".submitCreateFromPreview").click(function(){
        submitFormFunction();
    });         


    function submitFormFunction() {
        form=document.getElementById('mainform_id');                
        form.target='_self';
        form.action='http://localhost/create.do';
        form.submit();
    }   

我基本上需要在单击 href 时提交表单中的所有字段。此代码适用于我的 web 应用程序中的其他位置,但它不想与 LightBox 描述 href 一起使用。

你知道我做错了什么吗?或者其他人有其他我可能没有尝试过的选择?

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

我们可以使用 jQuery '.on()' 事件处理程序来添加事件。它们的优点是可以处理稍后添加到文档中的后代元素的事件。

在上面的情况下,我们可以使用如下代码:

$(document).ready(function(){   
   $(".lightbox").on("click",'.submitCreateFromPreview', function (e) {
      submitFormFunction();
   });
  });

即使直接访问该函数,它也会执行。因此,可以实现这两个选项中的任何一个来执行“submitFormFunction()”函数。

<!DOCTYPE html>
<html lang="en-us">
<head>
  <meta charset="utf-8">
  <title>Lightbox Example</title>
  <link rel="stylesheet" href="../dist/css/lightbox.min.css">
</head>
<body>

  <section>
    <h3>Two Individual Images</h3>
    <div>
      <a class="example-image-link" href="http://lokeshdhakar.com/projects/lightbox2/images/image-1.jpg" data-lightbox="example-1" data-title="Optional <a href='#' class='submitCreateFromPreview'>caption</a>."><img class="example-image" src="http://lokeshdhakar.com/projects/lightbox2/images/thumb-1.jpg" alt="image-1" /></a>
      <a class="example-image-link" href="http://lokeshdhakar.com/projects/lightbox2/images/image-2.jpg" data-lightbox="example-2" data-title="Optional <a href='javascript:submitFormFunction()'>caption</a>."><img class="example-image" src="http://lokeshdhakar.com/projects/lightbox2/images/thumb-2.jpg" alt="image-1"/></a>
    </div>

  </section>

  <script src="../dist/js/lightbox-plus-jquery.min.js"></script>
  <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>

  <script type="text/javascript">

  function submitFormFunction(){
    alert("Submit Form Function executed :: ")
    console.log("Submit Form Function executed :: ");
  }

  $(document).ready(function(){   
   $(".lightbox").on("click",'.submitCreateFromPreview', function (e) {
      submitFormFunction();
   });
  });

  </script>

</body>
</html>

可以在此处访问使用 LightBox2 (v2.8.2) 的功能存储库

https://github.com/nitinsinha/Debugs.git

关于javascript - LIightBox2 数据标题描述链接与 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34582040/

相关文章:

javascript - 如何从js显示ValidationMessageFor

javascript - 通过javascript加载大表的最优化方式

javascript - Facebook 页面插件无法在网站上正确显示

javascript - 捕获所有不在集合中的点击

jquery mobile 如何切换选择的显示

javascript - atom ide 是如何工作的

javascript - 如何取消 Highcharts 图例标题的粗体显示?

javascript - 鼠标悬停时的文本工具提示

javascript - 解析 jQuery.serializeArray() 中的数字

html - 如何使表格行占据其容器的 100% 宽度?