jquery在单击每个块时动态获取类,并在ajax调用后聚焦

jquery dynamically getting class on click of the each block and focus after ajax call

本文关键字:并在 ajax 调用 聚焦 获取 动态 单击 jquery      更新时间:2023-09-26

我正试图在点击每个区块时获得课程内容在搜索每个产品时以及在ajax调用后都会动态更改我点击时得到的同一个类应该会添加焦点。

code : 
$('#somecontainer').on('click',function(e) {   
    var $target = $(e.target);   
    if ($target.hasClass("dynamic class")) {
        // same class has to focus().
    }
});

应用程序视图示例:

[在此输入图像描述][1]

代码屏幕截图:![在此输入图像描述][2]

感谢你的帮助。

这样的东西怎么样?

HTML

<div id="somecontainer">
    <div class="dynamic1">1</div>
    <div class="dynamic2">2</div>
    <div class="dynamic3">3</div>
    <div class="dynamic4">4</div>
    <div class="dynamic5">5</div>
    <div class="dynamic6">6</div>
</div>

Javascript

$('#somecontainer').on('click', function (e) {
    var $target = $(e.target);
    var clazz = $target.attr('class');
    $('.' + clazz).first().attr('tabindex', '-1').focus();
});

Fiddle在这里可用。

HTML:

<div id="somecontainer">
   <div class="dynamic1">1</div>
   <span class="dynamic2">2</span>
   <p class="dynamic3">3</p>
   <div class="dynamic4">4</div>
   <span class="dynamic5">5</span>
   <p class="dynamic6">6</p>
</div>

Jquery:

$(document).ready(function(){
   $("#somecontainer > *").click(function(){
       alert($(this).attr('class'));
   });
});

CSS

#somecontainer > *{
width: 100px; height:100px; background:#ccc;
margin:3px; clear:both;
}

您的问题不符合您的目的。但是,您可以简单地处理产品块的点击事件,而不是处理容器的点击事件(每个产品块都必须设置为产品的静态基类):

 <div class='product dynamic1'></div>
 <div class='product dynamic2'></div>
 $('#somecontainer .product').on('click',function(e) {   
    //implementation
 });

或者每个产品都是没有内部子元素的div元素,您可以如下处理:

 $('#somecontainer div').on('click',function(e) {   
    //implementation
 });

在以下位置试用样品:http://jsfiddle.net/kyawlay/8z75c7f4/