在Jquery中,选择器可以与bind和trigger一起使用吗

在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

我试图在jQuery中使用带触发器和绑定的选择器。这是一个简单的代码,我似乎无法让它工作:

这就是我正在做的

$(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);
});