首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >url的模式对话框不工作?

问url的模式对话框不工作?
EN

Stack Overflow用户
提问于 2015-08-07 04:08:44
回答 2查看 98关注 0票数 0

抱歉,这让我抓狂,但当我将按钮切换到链接时,我的模式对话框不显示。基本上,对于这个功能(很抱歉,我不得不删除公司敏感数据,所以一些代码丢失了,但仍然有效),我只想让编辑器放入一个带有id或class的链接,该链接不起作用,但地址会打开一个对话框,里面有地址url。

我有一个按钮的工作,但这不与链接和下面的代码工作。他们还手动将链接输入到p-tag中,并想知道是否可以通过href捕获它。

代码语言:javascript
复制
$(function() {
    var dialog, form,


      tips = $( ".validateTips" );


    function addUser() {
      var valid = true;
      allFields.removeClass( "ui-state-error" );

      valid = valid && checkLength( name, "username", 3, 16 );
      valid = valid && checkLength( email, "email", 6, 80 );
      valid = valid && checkLength( password, "password", 5, 16 );

      valid = valid && checkRegexp( name, /^[a-z]([0-9a-z_\s])+$/i, "Username may consist of a-z, 0-9, underscores, spaces and must begin with a letter." );
      valid = valid && checkRegexp( email, emailRegex, "eg. ui@jquery.com" );
      valid = valid && checkRegexp( password, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9" );

      if ( valid ) {
        $( "#users tbody" ).append( "<tr>" +
          "<td>" + name.val() + "</td>" +
          "<td>" + email.val() + "</td>" +
          "<td>" + password.val() + "</td>" +
        "</tr>" );
        dialog.dialog( "close" );
      }
      return valid;
    }

    dialog = $( "#dialog-form" ).dialog({
      autoOpen: false,
      height: 300,
      width: 350,
      modal: true,

    });

    form = dialog.find( "form" ).on( "submit", function( event ) {
      event.preventDefault();
      addUser();
    });

    $( "#create-link" ).a().on( "click", function(e) {
      e.preventDefault();
      dialog.dialog( "open" );
    });
  });



<div><a href="https://xyz" id="create-link">Perma-link</a></div>
<div id="dialog-form" title="Link Address">
<p class="validateTips">https://xyz</p>
</div>

注意-我完全理解,这是奇怪的捕获一个模式框中的链接,但我们必须这样做,因为供应商不显示完整的活动链接在网址。因此,当我们的用户尝试分享页面时,他们会在浏览器中复制url,这不会给其他用户带来任何影响。这里的链接将他们带到永久页面。我知道这很愚蠢,但这是必要的。

EN

回答 2

Stack Overflow用户

发布于 2015-08-07 04:26:03

当您使用jQuery选择器查找元素时,它将返回一个jQuery对象,您可以在该对象上调用jQuery定义的方法。

在你的代码中,你有:

代码语言:javascript
复制
$( "#create-link" ).a().on( "click", function(e) {
  e.preventDefault();
  dialog.dialog( "open" );
});

$("#create-link")返回的对象是html中a标记的jQuery对象。您只能在该对象上调用jQuery方法。据我所知,在jQuery或jQuery UI中没有定义a()方法。把那个去掉。

至于链接本身,添加一个链接然后阻止单击该链接的操作是没有意义的。基于这条评论,我猜你没有理解需求:

用户界面的家伙想让我把它作为一个链接。最后一部分是将按钮移动到一个链接,然后使href自动填充validateTips部分

在我看来,他们想让你给用户提供一个链接。

票数 1
EN

Stack Overflow用户

发布于 2015-08-07 04:32:21

我不认为当你点击链接时,你的点击事件会被触发。为什么不说

代码语言:javascript
复制
$( "#create-link" ).on( "click", function(e) {
  e.preventDefault();
  dialog.dialog( "open" );
});

只需删除a()。应该能解决问题。

查看此处http://jsfiddle.net/eos4c25w/1/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31864867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档