是否有可能知道HTML Select所谓的变化是什么?

时间:2015-11-24 10:06:44

标签: jquery

我有以下代码,其中HTML Select的更改可以通过触发器或手动更改来实现。

我的问题是,是否可以通过触发器或手动知道是否发生了这种变化?

我的示例代码:

$(document).on('change', 'select#days', function(event)
{
    alert('Change happened');
});
$(function()
{
    $("#days").trigger('change');
});

这是我的fiddle

3 个答案:

答案 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的密钥:

&#13;
&#13;
isTrigger
&#13;
$(document).on('change', 'select#days', function(event) {
  var ev = event.isTrigger || event.type;
  $('pre').html('isTrigger ::::'+ ev);
});
$(function() {
  $("#days").trigger('change');
});
&#13;
&#13;
&#13;

答案 1 :(得分:0)

event.isTrigger

是您要查找的内容,手动完成时为undefined,触发方法触发时为true

$(document).on('change', 'select#days', function(event)
{
    alert(event.isTrigger);
    alert('Change happened');
});
$(function()
{
    $("#days").trigger('change');
});

updated fiddle

答案 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);