2017-01-03 84 views

回答

0

使用trigger('input')而不是change()简写。

$(".val-trigger").on('input', function() { 
 
    console.log("this is triggered on input! :)"); 
 
}); 
 

 
$(".val-trigger").change(function() { 
 
    console.log("triggered!"); 
 
}); 
 

 
setTimeout(function() { 
 
    $('input[type="text"]').each(function() { 
 
     $("#example").val("test").trigger('input'); // < change here 
 
    }); 
 
}, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="val-trigger"> 
 
    <input type="text" id="example" /> 
 
</div>

Updated fiddle

1

您可以尝试更新的小提琴jsfiddle.net/bharatsing/4o3v2c6s/2/

setTimeout(function() { 
    $('input[type="text"]').each(function() { 
     $("#example").val("test").change(); 
     $("#example").val("test").trigger('input'); 
    }); 
}, 1000); 
1

只要给函数的名称,并调用它,只要你喜欢:

function doAThing() { 
    alert("triggered!"); 
} 

// Auto: 
$(".val-trigger").change(doAThing); 

// Manual: 
doAThing(); 
相关问题