2011-04-28 40 views
0

正在使用Salesforce和我需要使用這樣的東西的onfocus =「js_fn1(這一點,‘參數1’..)等在obtrusive javascript - 瀏覽器依賴關係中的匿名函數?

對於特殊的要求,我試圖通過一個匿名函數作爲參數傳遞給函數我我結合的onfocus這裏是生成的HTML:。

<input onfocus="self=this;new AutoComplete('thePage:j_id3:thePageBlockId:j_id45:j_id46:pName','thePage:j_id3:thePageBlockId:j_id45:j_id46:primaryNameSuggestWrap', searchNamesfn, function(){fireAddressSearch(self, 'thePage:j_id3:thePageBlockId:j_id45:j_id46:address', 'thePage:j_id3:thePageBlockId:j_id45:j_id46:addressSuggestWrap', searchAddressesfn, selectAddressesfn);});return false;" onkeypress="return noenter(event)" id="thePage:j_id3:thePageBlockId:j_id45:j_id46:pName" type="text" name="thePage:j_id3:thePageBlockId:j_id45:j_id46:pName" value="" class="cField" /> 

這精美的作品在Chrome 10和Firefox 3.6,但它似乎失敗,你猜對了,IE8我已經圍繞這一點,但couldn幾個捅別無其他結論 - IE不支持突發性js中的匿名函數?IE8表示

Message: Not implemented 

Line: 219 
Char: 1 
Code: 0 

在219行我有輸入字段有人可以告訴我如何解決這個問題嗎?

+0

保留它似乎很明顯IE不喜歡你的超長'onfocus'屬性。爲什麼不嘗試在javascript中爲它創建一個處理程序? – mattsven 2011-04-28 14:57:44

+4

'self'是JavaScript/JScript中的保留字。 IE8對你使用它有什麼例外嗎? – meouw 2011-04-28 14:59:18

+1

'self'是保留的嗎?你確定嗎? – ThiefMaster 2011-04-28 15:02:06

回答

1

感謝meouw的有用評論。

答:看來「自我」在IE