假设我想在每个事件myFunction
,$(document).ready
上运行一个函数$(sometag).on('click',....)
。如何构造一个函数来检查是否触发了这两个事件中的任何一个,然后运行该方法。我可以将$(document)
作为参数传递,然后选中$(document).isReady
或检查$(document).click(function(e){if (e.target.is($(some tag))) ...})
。这是对的吗?
答案 0 :(得分:1)
理解您所说的内容并不容易,但听起来您正在尝试附加事件处理程序并在文档就绪时触发它,并且如果是这样,你就这样做:
$(document).ready(function() {
$(sometag).on('click', function() {
// do stuff
}).trigger('click');
});
答案 1 :(得分:0)
如果我理解正确的话:
function myFunc(event) {
if (event.type == 'ready')
console.log('It is a document.ready');
else if (event.type == 'click')
console.log('It is a click');
}
$(document).on('ready', myFunc).on('click', 'a', myFunc);
答案 2 :(得分:0)
从我的问题中我可以理解......
Jsfiddle:http://jsfiddle.net/patelmilanb1/eR4wG/1/
$('.checkbox').change(function (e) {
if (e.isTrigger) {
alert('not a human');
} else {
alert("manual check by human");
}
});
$('.checkbox').trigger('change'); //alert not a human because it is automatically triggered.
答案 3 :(得分:0)
我可能不太了解你的问题,但试试这个:
$(function(){
$('div1,div2,#id1,#id2,.class1,.class2').click(function(){
// do something
yourFunction();
});
});
答案 4 :(得分:0)
触发元素的多个事件的函数,您可以尝试:
$('#element').on('keyup keypress blur change', function() {
...
});
和多个元素上的多个函数,请尝试:
$('#element #element1 #element2').on('keyup keypress blur change', function() {
...
});