【问题标题】:JQuery usage within Wordpress thickbox elementsWordpress 厚框元素中的 JQuery 用法
【发布时间】:2017-04-21 05:15:40
【问题描述】:

我目前正在编写一段代码,其中集成了一个厚盒。厚盒可以正常工作,并且它的内容可以正常加载,但是我正在努力让 JQuery 在厚盒中的元素上工作。

thickbox 代码启动:

<div id="my-content-id" style="display:none;">
 <p>
<div class="mass_pc_wrapper">
<input name="mass_select" class="mass_input" id="kd_local_mass_text" 
type="text" />
<input class="kd_mass_go" id="kd_mass_go" type="submit" value="Mass 
Select/Deselect">
</div>
</p>
</div>

这会在代码前面的点击中启动到厚框。问题是,我想使用我的 JQuery 来点击提交按钮。无论我尝试什么,我都无法让它注册点击。 我读过一些与 DOM 相关的内容,但这超出了我的想象,我本质上更像是一个 PHP 程序员。

thickbox 通过单击在新模式中启动自身

<a href="#TB_inline?width=600&height=550&inlineId=my-content-id" class="thickbox">My link</a>

如果在父内容中单击该链接,它会将厚框加载到动态创建的#TB_window 元素中。

如果有人能给我一个 JQuery 示例代码,我将不胜感激,该代码基本上会在单击按钮时显示 kd_local_mass_text 内容的警报。

【问题讨论】:

    标签: javascript jquery wordpress thickbox


    【解决方案1】:

    对于动态创建的元素,您必须使用.live() 但是,live() 在 1.7 中被弃用,取而代之的是 on(),并在 1.9 中完全删除。 live() 签名:

    如果您有比1.9 更高版本的jQuery,您可以使用jQuery.fn.on

    我建议使用.on 下面是.on 函数的签名

    $(document).on( eventName, selector, function(){} );
    
    $("body").on("click", "#YOUR_DYNAMICALLY_CREATED_ELEMENT", function(event){
        //Do Some stuff
    });
    

    【讨论】:

    • 您好,感谢您的轮班回复。那么使用您的解决方案,我是否能够获取动态创建的输入的内容并在同一个厚盒中的另一个动态对象中使用该变量?
    • 这是否适合我的 .js 文件中的 [code]jQuery(document).ready(function($){ }[/code]?
    【解决方案2】:

    对 Curiousdev 的支持,他给了我几乎正确的代码答案。我继续根据给出的响应进行一些调查,结果我不得不使用文档而不是“正文”。 所以对我有用的是:

    $(document).on("click", '.mylink', function(event) { 
    alert("new link clicked!");
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多