2011-06-22 18 views
2

編輯:改變了問題,書名有點使事情變得更加清晰如何在我的代碼中重新使用來自js文件的.bind?

您好,

我有一個PHP文件,凡在我所說的jQuery腳本和一個大javescript文件。在PHP文件本身我使用下面的腳本:

<script> 
<!-- Hide/show divs using fadein/out --> 
$("#game_board_container").click(function(e){ 
    $('#status2').html('+'+ 100); 
    $("#status2") 
    .hide() 
    .css({ 
     top: e.pageY -20, 
     left: e.pageX -10, 
     opacity: 1, 
     marginTop: 0 
    }) 
     .show() 
     .stop() 
     .delay(200) 
     .animate({'marginTop':-75, opacity: 0},1000); 
    }); 
</script> 

此腳本在格「game_board_container」單擊時鼠標的位置隱藏的div(狀態)。這很好。問題是,當我點擊我不想要的鼠標時會發生這種情況。我希望這不會發生在點擊上,而是發生在名爲found_match的事件上。解決辦法是將其與事件綁定。

此綁定已存在。在大js文件中有以下代碼行:

$(document).bind("found_match", foundMatchingBlocks); 

那麼,如何使用此.bind替換我的.click?

非常感謝

+0

我不太明白。如果在點擊事件中檢查了正方形的匹配,爲什麼你不想在onc​​lick上完成整個事情? – MeLight

+0

如何調用foundMatchingBlocks函數?它是否已附加到某個事件處理程序? – kinakuta

+0

改變了這個問題,使事情更清晰 – Maurice

回答

0

您可以使用jquery自定義事件功能。使用$("#special").bind('eventName', fn)在元素上附加事件並使用$("#special").trigger('eventName')foundMatchingBlocks引發事件。瞭解更多​​

+0

我已經在大js文件中找到這部分代碼:'$(document).bind(「found_match」,foundMatchingBlocks);'所以我覺得我可以用它來代替.click,但又是如何做到這一點?嘗試'$(「#special」)。bind(「found_match」,foundMatchingBlocks,function(e){',no succes – Maurice

+0

on any user action(let's say click)call findMatchingBlocks and when find something something call $(「#special 「).trigger( 'eventName的') – hungryMind

相關問題