是否可以让子项在选中时触发名为CHANGED的自定义事件,但让其父级侦听该事件。是否有可能通过事件冒泡到父母
我有一个来自某人的插件,就像这样。 (#selector).dropdown();
在下拉列表中,它会重新创建一个选择列表。
<select id="selectBox">
<option value="0">Select</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
现在当点击其中一个li选择器时,我想从下面触发一个事件,但让父母听它。父表示slectBox元素。
// INSIDE PLUGIN
$("li", ul).click(function () {
$(this).trigger('CHANGED');
});
//IN MY PAGE CODE
$(function(){
('#selectBox').dropdown();
('#selectBox').bind('CHANGED', update);
function update(evt){
alert(evt.target);
}
});
答案 0 :(得分:0)
所以,我必须在这里错过一些上下文,但是如果你可以创建一个事件,你知道元素名称,并且你知道什么时候你想要它执行,为什么不正常添加另一个事件处理程序呢?
在你的情况下:
$(function(){
$('#selectBox').bind('change', update);
function update(evt){
alert(evt.target);
}
});
答案 1 :(得分:0)
这就是委托功能的用途:
<script type="text/javascript">
$(document).ready(DocReady);
function DocReady()
{
$("#selectBox").delegate("option", "click", SelectClicked);
}
function SelectClicked()
{
alert("You clicked: " + this.text);
}