2013-12-17 46 views
-1

這裏我有一個例子:http://jsbin.com/oLaqoToH/5(時間軸與事件) 雙擊我可以創建一個新的事件,但我的問題是如何找到這樣做的函數,所以如何找到代碼是爲此操作創建。如何查找函數的代碼

這個例子也有外部資源(發動機)timeline.js http://almende.github.io/chap-links-library/js/timeline/timeline.js

我嘗試用onNew(); new Item.等,但沒有什麼的,是不是一個答案...文檔是壞的,我不知道該怎麼從事實際工作。

幫助?

+2

閱讀他們的來源。 – SLaks

+0

最有可能所有需要的代碼都在JS文件中,打開它並查看。 – RealityDysfunction

+0

我打開,但我沒有看到那個功能在哪裏,我找不到她......這是我的問題,我試着整天找到它...... – MikiMrki

回答

0

我相信這是你在找什麼:

/** 
* Double click event occurred for an item 
* @param {Event} event 
*/ 
links.Timeline.prototype.onDblClick = function (event) { 
    var params = this.eventParams, 
     options = this.options, 
     dom = this.dom, 
     size = this.size; 
    event = event || window.event; 

    if (params.itemIndex != undefined) { 
     var item = this.items[params.itemIndex]; 
     if (item && this.isEditable(item)) { 
      // fire the edit event 
      this.trigger('edit'); 
     } 
    } 
    else { 
     if (options.editable) { 
      // create a new item 

      // get mouse position 
      params.mouseX = links.Timeline.getPageX(event); 
      params.mouseY = links.Timeline.getPageY(event); 
      var x = params.mouseX - links.Timeline.getAbsoluteLeft(dom.content); 
      var y = params.mouseY - links.Timeline.getAbsoluteTop(dom.content); 

      // create a new event at the current mouse position 
      var xstart = this.screenToTime(x); 
      var xend = this.screenToTime(x + size.frameWidth/10); // add 10% of timeline width 
      if (options.snapEvents) { 
       this.step.snap(xstart); 
       this.step.snap(xend); 
      } 

      var content = options.NEW; 
      var group = this.getGroupFromHeight(y); // (group may be undefined) 
      var preventRender = true; 
      this.addItem({ 
       'start': xstart, 
       'end': xend, 
       'content': content, 
       'group': this.getGroupName(group) 
      }, preventRender); 
      params.itemIndex = (this.items.length - 1); 
      this.selectItem(params.itemIndex); 

      this.applyAdd = true; 

      // fire an add event. 
      // Note that the change can be canceled from within an event listener if 
      // this listener calls the method cancelAdd(). 
      this.trigger('add'); 

      if (this.applyAdd) { 
       // render and select the item 
       this.render({animate: false}); 
       this.selectItem(params.itemIndex); 
      } 
      else { 
       // undo an add 
       this.deleteItem(params.itemIndex); 
      } 
     } 
    } 

    links.Timeline.preventDefault(event); 
}; 

source

+0

謝謝! .............. – MikiMrki