【问题标题】:how to use event.target in a jquery dialog to change a DIV's innerHTML when it is double clicked?双击时如何在jquery对话框中使用event.target来更改DIV的innerHTML?
【发布时间】:2011-07-31 13:46:52
【问题描述】:

**更新**

基本上我要问的就是这个 - 有人可以向我解释一下如何使用 event.target 吗?我需要知道什么 DOM 元素触发了一个事件并在该事件中对其“做某事”(即在 jquery 对话框中更改 DIV 的内容)。谢谢!


好的,我找到了一些与我正在寻找的问题/答案接近的问题/答案,但它们要么不完全相同,要么......我只是不知道如何将其应用于我的情况。我很确定我需要的是“event.target”或类似的东西,但我的大脑现在有点炸了;p 我无法让它工作。请帮忙!非常感谢,非常感谢

我有一个按钮,点击后会打开一个对话框。对话框有一个表格。填写完表单并单击“创建”按钮后,表单将关闭,并且新的 div 将附加到包含输入信息的文档正文中。这完美地工作。我的问题是:我希望在双击该新 div 时打开另一个对话框,以允许编辑信息。我什至还没有尝试将当前信息包含到对话框中,我正在尝试更新 div,但我无法让它工作。我不知道如何将“这个”我猜到对话框中。

对话框如何知道哪个 div 打开了它,然后在单击对话框的“编辑”按钮时更改该 div 的 innerhtml?

我有两个表单对话框:

<div id="dialog-form" title="Create new element">

<form>
    blah blah blah
    </form>
</div>


<div id="dialog-edit" title="Edit Element">

<form>
blah blah blah
    </form>
</div>

还有一个按钮:

<button id="create-element">Create new element</button>

然后我的第一个(创建元素)对话框运行良好:

<script>
$(function() {
   var begin =  '<div class="column">' + 
         '<ol class="sortable">' + 
          '<li>' + 
         '<div ondblclick="onDblClick();">';
   var end =  '</div>' + 
         '</ol>' + 
         '</div>';


    $( "#dialog-form" ).dialog({
        autoOpen: false,
        height: 300,
        width: 350,
        modal: false,
        zIndex:101,
        buttons: {
            "Create Element": function() {

            $( "#body" ).append( begin + ...<some other stuff here>... + end );
             } 

            $( this ).dialog( "close" );


            },
            Cancel: function() {
                $( this ).dialog( "close" );
            }
        },

    });

    $( "#create-element" )
        .button()
        .click(function() {
            $( "#dialog-form" ).dialog( "open" );
        });
});

</script>

当div被双击时:

function onDblClick() {

            $( "#dialog-edit" ).dialog( "open" );
        }

然后是“编辑元素”对话框,我不知道如何使用它来更改被双击打开的 div 的 innerhtml:

<script>
$(function() {

....variables here....


    $( "#dialog-edit" ).dialog({
        autoOpen: false,
        height: 300,
        width: 350,
        modal: false,
        zIndex:101,
        buttons: {
            "Update Element": function() {

need some way to set target here  =  variable1fromabove + variable2 + etc + etc;


                    $( this ).dialog( "close" );


            },
            Cancel: function() {
                $( this ).dialog( "close" );
            }
        },

    });


});

</script>

【问题讨论】:

    标签: jquery events dialog target innerhtml


    【解决方案1】:

    我真的不明白你想做什么。但我认为这可以帮助你一些:

    $('#dialog').dialog('isOpen')
    

    它将返回true/false。所以你可以用它来检查现在打开了哪个对话框。

    【讨论】:

    • 不,我不需要检查对话框是否打开。当你双击一个 DIV 时,对话框打开。该对话框用于编辑该 DIV 中的文本。我需要知道如何在对话框中访问特定的 DIV(很多 DIV 在您双击它们时会打开对话框)
    猜你喜欢
    • 1970-01-01
    • 2018-08-02
    • 2011-07-06
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    相关资源
    最近更新 更多