我有以下代码,其中HTML Select的更改可以通过触发器或手动更改来实现。
我的问题是,是否可以通过触发器或手动知道是否发生了这种变化?
我的示例代码:
$(document).on('change', 'select#days', function(event)
{
alert('Change happened');
});
$(function()
{
$("#days").trigger('change');
});
这是我的fiddle。
答案 0 :(得分:1)
当您在select元素上使用jquery事件#include <iostream>
#include <conio.h>
int main() {
int a,length;
std::cout << "Please enter a number:\n";
std::cin >> a;
if(a<0)
a=-a;
if( a >= 1 && a < 10 )
length = 1;
else if( a >= 10 && a < 100 )
length = 2;
/* .............. */
std::cout << "It has "<< length <<" numbers\n";
getch();
}
时。您可以使用名为change
的密钥:
isTrigger
&#13;
$(document).on('change', 'select#days', function(event) {
var ev = event.isTrigger || event.type;
$('pre').html('isTrigger ::::'+ ev);
});
$(function() {
$("#days").trigger('change');
});
&#13;
答案 1 :(得分:0)
event.isTrigger
是您要查找的内容,手动完成时为undefined
,触发方法触发时为true
。
$(document).on('change', 'select#days', function(event)
{
alert(event.isTrigger);
alert('Change happened');
});
$(function()
{
$("#days").trigger('change');
});
答案 2 :(得分:0)
您也可以使用event.originalEvent
查看。
EG。
HTML
<div id="div1">
<span id="span1">Span 1</span>
</div>
的JavaScript
$("#span1").on("click", function(event){
if (event.originalEvent) {
alert("A Human Clicked on span1!");
} else {
alert("A Human Created Bot Clicked on span1!");
}
});
botFn = function(){
$("#span1").trigger("click", function(event){
if (event.originalEvent) {
alert("A Human Clicked on span1!");
} else {
alert("A Human Created Bot Clicked on span1! after 2 seconds!");
}
});
}
setTimeout(botFn, 2000);