Javascript on(';单击';…)仅在第二次单击后激发

Javascript on(';单击';…)仅在第二次单击后激发,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,这是剧本。当我在加载时单击它,它就像一个符咒。当我通过一个动态创建的元素单击它时,第一次单击会看到实际的html转换(有点像拉伸和返回)。但是,它在第二次单击时始终有效 <script> $(document).on('click', '.iframe_add', function(){ var element = $(this).attr('name'); $('#iframe_target').html('<iframe src="https

这是剧本。当我在加载时单击它,它就像一个符咒。当我通过一个动态创建的元素单击它时,第一次单击会看到实际的html转换(有点像拉伸和返回)。但是,它在第二次单击时始终有效

<script>
$(document).on('click', '.iframe_add', function(){        
    var element = $(this).attr('name');
    $('#iframe_target').html('<iframe src="https://104.131.18.58/t3/default/ajax_new_secured_asset_debt_creator?all='+element +'" frameborder="0" width="580" height="300" scrolling="yes" id="myFrame"></iframe>');
});    
</script>

$(document).on('click','iframe_add',function(){
var元素=$(this.attr('name');
$('#iframe_target').html('';
});    
我真的不明白发生了什么,我很感激任何帮助

另外,我看到了这个,但不确定它是否适用(似乎处理了一些日期选择器问题)

编辑:

这是HTML

<div id="iframe_modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">X</button>
        <h4 class="modal-title">Edit Information</h4>
      </div>
      <div id="iframe_target" class="modal-body">
      </div>
    </div>
  </div>
</div>

X
编辑信息
编辑2-控制台日志(相同):


您的控制台日志:

<a href="#iframe_modal" name="14---asset-asset_page" class="iframe_input btn btn btn-primary" data-toggle="modal">New</a>

嗯。下面是我提出的黑客攻击解决方案(如果你不能打败em——我说的em是javascript,加入em):


我只是在模态隐藏时强制单击第一个输入元素,这似乎解决了该行为。话虽如此,这看起来真的很粗糙,我洗耳恭听为什么这是错误的,但它确实像一个符咒一样工作….

上面的第一个静态父项是什么“.iframe\u add”?如果你
console.log
元素,第一次和第二次单击是否相同?我想知道对于动态生成的instancePhilVarg:Idon console.log(“#单击了someButton”),使用
这个
事件.target是否不同;它每次都写。只是iframe模式只在第二次循环时显示……do
console.log(this)
。我想知道
这个
的上下文是否正在改变,从而导致奇怪的结果。您正在间接使用
而不是
事件。目标
可因委派事件而更改我猜您正在单击的元素中的
名称
属性设置不正确。遗憾的是,这是因为我的日志记录太草率。当我为iframe_add类执行此操作时,每次都会收到此消息。(我有两个函数,它们的功能大致相同,我正在记录这两个函数。我编辑了上面的输出。@mmb21167没问题。你能让lite JSIDLE启动并运行吗?在fiddling中,我想我找到了罪魁祸首,尽管我不确定该怎么做……注释掉这些函数意味着我不能在不单击out的情况下删除我的modal,但它确实缓解了双击问题。想法?parent.document.getElementsByClassName(“模态背景”)[0]。style.display=\'none\';parent.document.getElementById(“iframe\u模态”)。style.display=\'none\';@mmb21167为清晰起见,当您写“注释这些”时,是否会“注释这些”是指注释末尾的两行代码吗?是的。以w parent开头的两行代码。当它们被注释时,模式显然不会手动消失,但2次单击问题解决了。
<a href="#iframe_modal" name="14---asset-asset_page" class="iframe_input btn btn btn-primary" data-toggle="modal">New</a>
$(document).on('click', '.iframe_input', function(){
parent.document.getElementsByClassName("iframe_input")[0].click();