jQuery UI 对话框 onClick 事件

标签 jquery jquery-ui jquery-ui-dialog

我正在尝试使用 onclick 命令打开一个对话框,但我没有任何运气。我已经尝试了所有方法,但我只能让它发挥作用。

这里是 jQuery 对话框:

<script type="text/javascript">
        $(function runDialog(){
            $('#testimonialOpen').dialog({
                autoOpen:false
                });
            })
    </script>

有一个 div id'd testimonialOpen 所以我知道它正在选择该元素,并且当 autoOpen 被删除时对话框可以工作,但是,当我尝试调用如下函数时:

<p class="topper">Top words<a onClick="runDialog()"><img id="readMore" style="display: inline; padding-left:40px;" src="../images/content/readMore.png"/></a></p>

它什么也没做。我尝试在 jQuery 中使用“打开”命令,但它仍然没有执行任何操作,有什么想法吗?

最佳答案

首先,您的 document.ready 处理程序没有完全使用正确的语法 - 您当前正在 jQuery 对象中放置函数声明。

其次,如果您使用 jQuery,则应该使用它来附加事件,而不是过时的 onclick 属性。应尽可能避免后者,而不是使用不引人注目的事件处理程序。在 jQuery 中,这可以通过使用 on() 来完成,而在 native JS 中,则可以使用 addEventListener()

试试这个:

<p class="topper">
  Top words
  <a href="#">
    <img id="readMore" style="display: inline; padding-left: 40px;" src="../images/content/readMore.png"/>
  </a>
</p>
$(function() {
  $('#testimonialOpen').dialog({
    autoOpen: false
  });

  $(".topper a").on('click', function(e) {
    e.preventDefault();
    $('#testimonialOpen').dialog('open');
  });
});

关于jQuery UI 对话框 onClick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10107030/

相关文章:

javascript - 错误 : TypeError: $(. ..).dialog 不是函数

javascript - Bootstrap Dropdown Active 在悬停时打开并在单击时链接

javascript - 从左到右旋转同一个div

jquery - 如何像 Facebook 或 Twitter 一样在 feed 中标记用户?

javascript - 带有表单验证插件的 jQuery UI 对话框

javascript - 如何在 jquery 对话框中将按钮名称作为变量传递

javascript - 在继续通过单独的功能之前等待 AJAX

javascript - JS 自动转换括号中的文本与特定标记(包括匹配)

php - chrome.extension 和 $.post()

javascript - 如果选择每日(复选框),请取消选择所有其他复选框