2016-08-03 67 views
0

我知道这很糟糕,但在这种情况下是需要的。我处于快速入侵模式的情况下,我需要打开一个完整的.htm页面并将脚本转换为模式。这工作正常,但父脚本和模态脚本具有相同名称的功能。与父/模式按钮ID相同。所以,当我点击模式中的#editbtn按钮时,它会被忽略(因为id与父按钮具有相同的名称)。如果我将模式按钮单击事件选择器更改为$('#stack #btnedit'),(模态div为id #stack),那么模式按钮将触发但调用父组件SetEditMode()函数。我需要:重复的ID和函数名称 - 选择使用哪个?

  1. 一个黑客以更新模式脚本中的所有按钮,选择与#stack(不能硬编码),前置或忽略父的按钮(直到模式被关闭)。

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

从我的理解你不能卸载一个函数/脚本。实质上,我想暂时在模式打开时对其进行黑箱操作。

+1

的很难说没有看到代码类,但它是使用jQuery的find()方法来连接点击处理,而不是与ID文件中抓取的第一个元素是否可行? –

回答

-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中我可以选择所有带班“全球的按钮按钮”。对于例如

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

我无法硬编码或更改ID。 – triplethreat77

+0

它会更好,如果你在这里发布你的示例代码:) –