简体   繁体   English

单击<a>元素</a>时对话框会移动焦点

[英]Dialog Box moves focus when clicking on <a> element

Edit: I believe that the problem is caused by this . 编辑:我认为这个问题是造成

I have a jQuery dialog with a long list of content. 我有一个包含大量内容的jQuery对话框。 I have an tag on the left of some rows. 我在某些行的左侧有一个标签。

There is a text box at the top of the window, and rows and rows of content below. 窗口顶部有一个文本框,下面有一行和几行内容。 When you scroll down (so you can't see the text box) and click on an anchor tag, located on each row, it changes focus to the textbox and does not allow you to click the tag. 向下滚动(因此您看不到文本框)并单击每行上的锚标记时,它会将焦点更改为文本框,并且不允许您单击该标记。 It doesn't even call the function for the tag. 它甚至不调用标记的函数。

I know the function works though, since the rows at the top (while the text box is visible) fire off the correct function and do everything properly. 我知道该功能有效,因为顶部的行(当文本框可见时)触发正确的功能并正确执行所有操作。

I'm not sure where to begin with this one, as this is a very strange problem I'm seeing. 我不确定从哪里开始,因为这是我看到的一个非常奇怪的问题。

I would attach some samples, but the window is loaded through Ajax, so it is entirely dynamic. 我将附加一些示例,但是窗口是通过Ajax加载的,因此它是完全动态的。

Edit: The Dialog Box: (It's ugly since it is generated through another function) 编辑:对话框:(这很丑,因为它是通过另一个函数生成的)

 <div class="ui-dialog-content ui-widget-content" id="edit-dialog" >


  <p class="validateTips">
   All form fields are required.
  </p>






<form id="edit-form" action="<redacted>.aspx">


   <fieldset>


                    <legend>Edit:</legend>
                    <label for="perm">Permission Title</label>
                    <input name="perm" class="text ui-widget-content ui-corner-all" id="editpermname" type="text" />
                    <label for="hasdrop">Has Options</label>
                    <input name="hasdrop" class="text ui-widget-content ui-corner-all" id="edit-hasoptions" type="checkbox" />
                    <br />
                    <br />

<div id="edit-perm-options">
 <div id="div-9">
  Option 1: <input name="current-option-name-9" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-11">
  Option 2: <input name="current-option-name-11" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-13">
  Option 3: <input name="current-option-name-13" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-3">
  Option 4: <input name="current-option-name-3" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-4">
  Option 5: <input name="current-option-name-4" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-5">
  Option 6: <input name="current-option-name-5" type="text" value="Le<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-6">
  Option 7: <input name="current-option-name-6" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-7">
  Option 8: <input name="current-option-name-7" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-2">
  Option 9: <input name="current-option-name-2" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-12">
  Option 10: <input name="current-option-name-12" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-1">
  Option 11: <input name="current-option-name-1" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-8">
  Option 12: <input name="current-option-name-8" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-14">
  Option 13: <input name="current-option-name-14" type="text" value="test" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
 <div id="div-10">
  Option 14: <input name="current-option-name-10" type="text" value="<redacted>" /><a title="Delete option" href="javascript:void(0)"><span class="ui-icon ui-icon-closethick" style="margin-right: 5px; float: left;"></span></a><br /><br />
 </div>
</div>  
</fieldset>
</form>
</div

The jQuery to remove rows: jQuery删除行:

$("#edit-perm-options").on("click", "a", function () {
            $(this).parent().remove();
        });

double check the href property of your anchor tag. 仔细检查锚标记的href属性。 try setting the value to "javascript:void(0);" 尝试将值设置为“ javascript:void(0);” rather than "#" to avoid moving the screen 而不是“#”以避免移动屏幕

<a href="javascript:void(0);" />something</a>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM