jQuery触发器单击后单击



我正在尝试弄清楚如何在insertBefore

之后触发单击事件
$this = $(this);
var changeImageHTML = '<div class="sample1 sample2">&nbsp;</div>';
//attempt 1
$(changeImageHTML).insertBefore($this).trigger('click');
//attempt 2
$(changeImageHTML).insertBefore($this).find('.sample2').trigger('click');
//attempt 3
$(changeImageHTML).insertBefore($this).find('.sample1.sample2').trigger('click');
//attempt 4
$(changeImageHTML).insertBefore($this).bind('click').trigger('click');

.sample2->我正在尝试触发的一类特定插件。

版本:jQuery 2.1

感谢您的帮助。:)

尝试一下,您需要将单击处理程序送给目标元素,在您的案例点击事件中,却丢失了处理程序,因此丢失了事件。

$(document).ready(function(){
$this = $("div.container");
  var changeImageHTML = "<div class='sample1 sample2' onclick='test()'>test</div>";
  $(changeImageHTML).insertBefore($this).click()
})
function test(){
  alert("ok")
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">Container</div>

使用事件委托

$(document).on("click", ".sample1.sample2", function() {
  alert("clicked")
})
var changeImageHTML = '<div class="sample1 sample2">&nbsp;sample</div>';
var $this = $("div");
$(changeImageHTML).insertBefore($this).trigger('click');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>div</div>

最新更新