2017-11-18 23 views
0

私は関数型プログラミングの新機能です。ハスケルとYesododの新機能jQuery on yesod haskell

私はちょうどのみ

(申し訳ありませんが、英語の私の最初の言語ではありません)

module Handler.Share where 

import Import 
import Text.Lucius 

menu :: Widget 
menu = [whamlet| 
<a onclick="showlogin()"> 
    Entrar 
    <div #login> 
    <h2> 
     Login 
     <p>Usuário: 
     <p>Senha: 
     <p> 
     <a> 
      Esqueci minha senha 
     <br> 
     <a> 
      Novo cadastro 

|] 

getShareR :: Handler Html 
getShareR = do 
    defaultLayout $ do 
     addScriptRemote "https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" 
     toWidgetHead [julius|  
      function showlogin(){ 
      $("#login").show("slow"); 
      } 
     |] 
     toWidget $ $(luciusFile "templates/share.lucius") 
     $(whamletFile "templates/share.hamlet") 

戻るログインフォームで「DIV」を表示するようにしようとしている:キャッチされないにReferenceError:$が定義されていません

答えて

0

代わりに 'toWidgetHead'を使用して、ページの最後にスクリプトを読み込む方法を学びました。

getShareR :: Handler Html 
getShareR = do 
    defaultLayout $ do 
     addStylesheet $ StaticR css_bootstrap_css 
     addScriptRemote "https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" 
     toWidget [julius| 
      $(document).mouseup(function (e) { 
      var div = $("#login"); 
      if (!div.is(e.target) && div.has(e.target).length === 0) { 
       if (div.is(':visible')) { 
        div.toggle("slow"); 
       } 
      } 
      }); 

      function showlogin(){ 
      $("#login").show("slow"); 
      } 
     |] 
     toWidget $ $(luciusFile "templates/share.lucius") 
     $(whamletFile "templates/share.hamlet")