在Jquery中,选择器可以与bind和trigger一起使用吗
我试图在jQuery中使用带触发器和绑定的选择器。这是一个简单的代码,我似乎无法让它工作: 这就是我正在做的在Jquery中,选择器可以与bind和trigger一起使用吗,jquery,Jquery,我试图在jQuery中使用带触发器和绑定的选择器。这是一个简单的代码,我似乎无法让它工作: 这就是我正在做的 $(document).ready(function (){ var ctrlChanged = jQuery.Event("CtrlChanged"); //********** Any time a button with id*=btnAddNewEmailAddress is clicked, raise event that parent control has cha
$(document).ready(function (){
var ctrlChanged = jQuery.Event("CtrlChanged");
//********** Any time a button with id*=btnAddNewEmailAddress is clicked, raise event that parent control has changed.
$('[id *= "btnAddNew"]').click(function () {
$('[id *= "btnAddNew"]').trigger(ctrlChanged);
});
});
为了订阅上述活动,我使用以下代码
$('[id *= "btnAddNew"]').bind('CtrlChanged', function(){alert('Control Changed')})
这种组合不起作用。当我单击id与btnAddNew匹配的按钮时,我没有看到警告消息
但是如果我将[id*=btnAddNew]替换为
$('body').trigger('ctrlChanged')
然后在绑定中进行相应的更改
$('body').bind('ctrlChanged', function(){alert('Control is changed'})
工作起来很有魅力
我想知道触发器和绑定是否与选择器一起工作。我想是的。。。但事实并非如此
如果是,那么我做错了什么?我会改变这一点:
$('[id *= "btnAddNew"]').click(function () {
$('[id *= "btnAddNew"]').trigger(ctrlChanged);
});
到
您可能还必须将ctrlChanged事件对象移动到全局范围;i、 e.将它移到$document之外。准备好了,就在它好之前。我认为这是选择器本身的问题。你有多个相同ID的按钮吗?非常感谢Cory。行得通。。但我想知道是否可以使用选择器为元素触发事件。在所附的示例中,我过度简化了问题,但实际上,我试图解决由选择器确定的控件触发事件的问题。有可能吗?我刚刚测试了使用选择器更改代码以引发事件,效果很好。非常感谢,科里。@CSC:我认为这绝对是可能的。
$('[id *= "btnAddNew"]').click(function () {
$(this).trigger(ctrlChanged);
});