【发布时间】: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