できてない要件
JQuery(v1.9.1)によるクリックイベントがCakePHP(v3.0)だと動かない
「<button id="button">ボタン</button>」に当てたJSが適用されない。
JQuery読み込み先
できた要件
参考のサイトを見ながら、Windowを開いたらアラートを表示させる要件はできました。
また、Cakeを使わず、phpで、下記JSを読み込んでみたら要件通りに動きました(JSは間違ってないかと)。
参考サイト
Javascript
1// webroot/js/test.js 2// ここは問題なく適用 3window.onload = function(){ 4 alert("Hello World!"); 5} 6 7// クリックイベントだとなぜか適用されない 8$('#button').on('click', function() { 9 alert("クリックされました"); 10});
ctp
1<?php 2//Template/Layout/test.ctp 3?> 4<!DOCTYPE html> 5<html> 6<head> 7 <?= $this->Html->charset() ?> 8 9 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 10 <title> 11 </title> 12 <?= $this->Html->meta('icon') ?> 13 14 <?= $this->Html->css('test.css') ?> 15 16 <?= $this->Html->script('test.js') ?> 17 <?= $this->Html->script('https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'); ?> 18 19</head> 20<body> 21 <?= $this->fetch('content') ?> 22 23</body> 24</html>
ctp
1<?php 2// Template/Test/index.ctp 3?> 4<div> 5 <h1>Helo Wrold!</h1> 6 <button id="button">ボタン</button> 7</div>
php
1<?php 2// Controller/TestController.php 3namespace App\Controller; 4 5use App\Controller\AppController; 6 7class TestController extends AppController{ 8 public function initialize(){ 9 //testレイアウトを指定 10 $this->viewBuilder()->layout('test'); 11 } 12 public function index(){ 13 } 14}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。