是否可以访问其他功能中的克隆

Is it possible to access clones in other functions?

本文关键字:功能 其他 访问 是否      更新时间:2023-09-26

我有一个名为taskButtonClick()的函数,它:

  1. 将变量形式设置为克隆。
  2. 将变量 formParent 设置为最外层的div。
  3. 删除父div 及其元素。
  4. 并将这些已删除的元素替换为表单。

    function taskButtonClick() {
    $(".task-btn").click(function(){
        // Setting form to the clone I want to acces in .on()
        var form = $(this).closest('#form-to-date').clone(true);
        var formParent = $(this).closest('#date-container');
        $(this).closest('#form-to-date').remove();
            $(formParent).html(''
                <form>'
                    <fieldset>'
                    <legend>Task<button class="btn task-btn" id="exit- button"><img src="http://localhost/ia/assets/img/remove.png"></button></legend>'
                     <input type="text" class="span12 input-xlarge"  id="input01">'
                    <div class="control-group">'
                        <div class="controls">'
                        </div>'
                    </div>'
                    <div class="form-actions">'
                        <button class="btn btn-primary span12"  type="submit">Save changes</button>'
                    </div>'
                    </fieldset>'
                </form>'
                ');
    });
    }
    
表单

中添加了一个退出按钮,我为其创建了一个 .on() 函数并附加了一个单击处理程序。我正在尝试找出一种方法来从 .on 函数中访问变量表单(克隆)并将表单替换为之前的内容:

$("#date-container").on("click", "#exit-button", function(event){
alert("Exit Button Works.");
event.preventDefault();
    // Here's kind of what I'm going for
$(form).appendTo(formParent);
});

我对jquery不是很熟悉,所以如果我能以某种方式更好地澄清,请告诉我。

Edit: Here's where I'm calling the funcitons:
$('document').ready(function(){
    setAjax();
    initialize();
    setDates();
    setButton(); 
    setActiveNav(); 
    taskButtonClick();
    removeButtonClicked();
});

尝试声明一个全局变量。

$(document).ready(function(){
       //Notice variable is outside of the event function. It can be accessed by other functions and events.
       var formParent = null;
       $(".task-btn").click(function(){
    // Setting form to the clone I want to acces in .on()
    var form = $(this).closest('#form-to-date').clone(true);
    formParent = $(this).closest('#date-container');
    $(this).closest('#form-to-date').remove();
        $(formParent).html(''
            <form>'
                <fieldset>'
                <legend>Task<button class="btn task-btn" id="exit- button"><img src="http://localhost/ia/assets/img/remove.png"></button></legend>'
                 <input type="text" class="span12 input-xlarge"  id="input01">'
                <div class="control-group">'
                    <div class="controls">'
                    </div>'
                </div>'
                <div class="form-actions">'
                    <button class="btn btn-primary span12"  type="submit">Save changes</button>'
                </div>'
                </fieldset>'
            </form>'
            ');
     });
});
如果要

使用克隆变量,请使用全局变量声明。