1

我的另一个问题没有得到解决,所以我将尝试使用我所做的更改,它应该更容易理解和回答。

我正在尝试将 onclick 绑定到一个对话框,这是有效的。然而,onclick 还需要绑定到 jQuery 环绕对话框的父 div。

  open: function()
{
    $(this).bind('click', function(){
        $('#focusedPatient').val(thiskey);
    });
    $('div [aria-labelledby="ui-dialog-title-patient_22274"]').bind('click', function(){
        $('#focusedPatient').val(thiskey);
    });
}

第二个绑定不起作用,我猜是因为我的语法。代码执行后看起来像

<div style="display: block; z-index: 1004; outline: 0px; height: auto;
width: auto; top: 141px; left: 50px;" class="ui-dialog ui-widget ui-widget-content
ui-corner-all ui-draggable" tabindex="-1" role="dialog"
aria-labelledby="ui-dialog-title-patient_22274">
  <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
    <span class="ui-dialog-title" id="ui-dialog-title-patient_22274">
      <img src="imgs/omButtons/omIcon.png" border="0"> 
       IS0001_LG, Austin Smith, Date Created: NULL, Date Updated: NULL, 
       Created By: Michael</span>
    <div class="ui-dialog-titlebar-buttonpane" style="position: absolute; top: 50%;
    right: 0.3em; margin-top: -10px; height: 18px;">
       <a href="#" class="ui-dialog-titlebar-close ui-corner-all" role="button"
       style="position: static; top: auto; right: auto; margin: 0px;">
         <span class="ui-icon ui-icon-closethick">close</span></a>
       <a class="ui-dialog-titlebar-maximize ui-corner-all" href="#" role="button" style="">
         <span class="ui-icon ui-icon-extlink">maximize</span></a>
       <a class="ui-dialog-titlebar-restore ui-corner-all" href="#" role="button" 
       style="display: none;"><span class="ui-icon ui-icon-newwin">restore</span></a>
       <a class="ui-dialog-titlebar-minimize ui-corner-all" href="#" role="button" style="">
          <span class="ui-icon ui-icon-minus">minimize</span></a>
     </div>
   </div>
   <div onclick="$('#focusedPatient').val('22274')" id="patient_22274" 
   style="display: block; width: auto; min-height: 113.375px; height: auto;" 
   class="ui-dialog-content ui-widget-content ui-dialog-normal" scrolltop="0" scrollleft="0">

第一个绑定到第三个 div 并且工作,我需要将 dom 树爬到容器 div,这是第二个 onclick 绑定。任何人都知道如何使那个工作?

4

2 回答 2

1

您在选择器中有一个空格。它应该是

$('div[aria-labelledby="ui-dialog-title-patient_22274"]')

但是,如果它是父 div 你可以这样做

$(this).parent().bind('click', function() { ... })
于 2013-02-15T13:17:50.987 回答
1

使用.parent()功能:

   $(this).bind('click', function(){
        $('#focusedPatient').val(thiskey);
    });
   $(this).parent().bind('click', function(){
        $('#focusedPatient').val(thiskey);
    });

您的代码不起作用的原因是因为div [id=xyz]div[id=xyz]. 第一个表示“id=xyz在 a 内的任何元素div”。第二个意思是“任何带有id=xyz”的 div。jQuery 中的空格意味着您正在谈论所有孩子(递归)。所以应该$('div[aria-labelledby="ui-dialog-title-patient_22274"]')

于 2013-02-15T13:19:42.007 回答