重复的ID和函数名称 - 选择使用哪个?

时间:2016-08-03 19:02:59

标签: javascript jquery twitter-bootstrap modal-dialog

我知道这很糟糕,但在这种情况下需要它。我在使用模态的快速黑客情况下,我需要打开一个完整的.htm页面,其中脚本为模态。这工作正常,但父脚本和模态脚本具有相同名称的函数。与父/模态按钮ID相同。因此,当我单击模态中的#editbtn按钮时,它将被忽略(因为id绑定到具有相同名称的父按钮)。如果我将模态按钮单击事件选择器更改为$(' #stack#btnedit'),(模态div为id #stack),则模式按钮将触发但调用父SetEditMode()函数。我需要:

  1. 更新模式脚本中所有按钮选择器的hack将添加#stack(无法硬编码)或忽略父级上的按钮(直到模态关闭)。

  2. 在模态脚本中调用名为SetEditMode()的重复函数,而不是父函数。

  3. 据我所知,你不能卸载一个函数/脚本。基本上,我希望在模态打开时暂时将脚本黑盒化。

1 个答案:

答案 0 :(得分:-1)

对于父母而言,我只是使用"全球课程"并且对于每个不同的按钮,我使用不同的ID

<div class="button"> <div id="button1" class="globalButton">Button1</div> <div id="button2" class="globalButton">Button2</div> <div id="button3" class="globalButton">Button2</div>
</div>

所以在jquery中我可以用类&#34;全局按钮&#34;选择所有按钮。例如

$('.globalButton').click(function(){ SetEditMode() console.log("Hello")  });
 $('#button2').mousedown( function(){ console.warn("Button 2") });