2016-08-03 69 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

它會更好,如果你在這裏發佈你的示例代碼:) –