2015-04-03 108 views
0

鑑於以下的CoffeeScript爲什麼不會選擇2個事件正確觸發?

class ModalController 
    constructor: (modalClass) -> 
    @modalClass = modalClass 
    @enableSelect2() 
    @clearSelectOptions() 

    enableSelect2:() -> 
    $('.select2-init').select2() 
     .on 'select2-open', (e) -> 
     console.log e 
     .on 'select2:selecting', (e) => 
     console.log 'added' 
     @validatePresenceOf($(e.target)) 

我希望,當我專門做了一個選擇上面的代碼中調用.on 'select2:selecting應該火行,這是高清並非如此,因爲在下面的代碼片段被記錄在案。

https://cl.ly/image/2P3d3F0y3k1o/Screen%20Recording%202015-04-03%20at%2010.38%20AM.gif

我立足我這一關的理解選擇2文檔

https://cl.ly/image/2Z3k0q2b2H1V/Image%202015-04-03%20at%2010.40.37%20AM.png

如何解決這個問題?

重新在事件選擇可能的錯字,

下面的CoffeeScript

enableSelect2:() -> 
    $('.select2-init').select2() 
     .on 'change', (event) => 
     if event.added 
      @validatePresenceOf($(event.target)) 
     .on 'select2:selecting', (e) => 
     console.log "selecting" 
     .on 'select2:select', (e) => 
     console.log "select" 
     .on 'select2-removed', (e) => 
     @validatePresenceOf($(e.target)) 

產生以下,注意到沒有日誌報表(雖然我已經通過使用砍死我要找的驗證該event.added檢查。

https://cl.ly/image/1l3Y3h1a1e2t/Image%202015-04-03%20at%2011.05.41%20AM.png

模式select2:eventname不做任何事情,即沒有日誌,沒有掛鉤。這很奇怪。我在互聯網上發現的一個隨機網站上發現了select2-eventname模式。這對我來說太奇怪了,令人不安,這看起來像是一段簡單的代碼。

+0

是如此不可思議。你可以嘗試在http://jsfiddle.net上覆制它嗎? – Dhiraj 2015-04-03 18:17:13

+0

您正在使用Select2 3和4事件的組合,您實際使用的是哪個版本? – 2015-04-05 16:49:59

回答

5

出現使用選擇二3成.x,但是您正在引用Select2 4.0.0文檔中的內容。

選擇二4.0.0文檔:https://select2.github.io/
選擇二3.5.2文檔:http://select2.github.io/select2/

還有上鍊接到選擇二3.5.2文檔主頁的鏈接。


您正在使用select2-open這似乎是工作,是3.5.2的事件,但你也嘗試使用select2:selecting,這是一個4.0.0事件。 select2:selecting的Select2 3.5.2事件是select2-selecting(請注意-而不是:)。在活動文檔

  • 用於包含addedremoved屬性,當添加和刪除的東西檢查change看時

    其他顯着的變化。現在你應該使用select2:select事件來檢查什麼時候被添加,並且select2:unselect什麼時候被刪除。

  • select2-selecting現在select2:selecting
  • select2-removing現在select2:unselecting
  • select2-removed現在select2:unselect
  • select2-opening現在是現在select2:opening
  • select2-openselect2:open
+0

#derp謝謝:) – John 2015-04-06 17:43:45

0

可能的錯字。應該說是

。對 '選擇2,選擇' ...

代替

。對 '選擇2:選擇' ......

+0

是啊,我試過了,出於某種原因,沒有與該模式的鉤子被拾起。很奇怪。我在這個問題上加了背景來說明這一點。 – John 2015-04-03 18:09:45

相關問題