我有一个方法设置来使用以下代码触发onChange:
var product = $('#selProduct:visible');
var note=$('#bbdata');
product.selectProduct({
target: note,
url: 'product.php',
data: { ajax: true }
}).trigger('change'); // TO DO: to fire also on visibility change
然后我有一个方法,我可以看到div。
function show_product() {
hide_group2();
$("#product_zone2").show('fast', function(){
$("selProduct").trigger('isVisibleProduct');// custom trigger event
});
}
我想在提升自定义事件时将方法定义更改为触发。我该怎么做?
答案 0 :(得分:2)
使用此代码
product.selectProduct({
target: note,
url: 'product.php',
data: { ajax: true }
}).trigger('change');
未对selectProduct()
事件触发change
。您只需执行selectProduct()
,然后在change
上解除product
。 也许 selectProduct()
将某些内容绑定到change
事件。但不知道它做了什么,很难说。
如果要对selectProduct()
事件和自定义事件执行change
,则必须将事件处理程序绑定到这两个事件,如下所示:
product.bind('change isVisibleProduct', function() {
$(this).productSelect({/* ...parameters here ... */});
});
如果这不是您的意思,请澄清您的问题。
答案 1 :(得分:0)
只需使用jQuery bind将您想要的功能链接到任何类型的事件(事件自定义)。
myObject.bind('myEventName', function(){/*..*/});
或
myObject.bind('myEventName', myFunctionName);
然后用
触发myObject.trigger('myEventName');
如果你的情况可以放
product.bind('isVisibleProduct', function(){
this.selectProduct({
target: note,
url: 'product.php',
data: { ajax: true }
}).trigger('change'); // TO DO: to fire also on visibility change
});