mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 11:28:25 +00:00
Fixing issues in JqueryEngineHelper where eval()'ed responses wouldn't run code contained inside $js->domReady() due to implementation differences between $(document).ready() and $(document).bind('ready'). Tests updated.
This commit is contained in:
parent
38365924eb
commit
832b15ba3e
2 changed files with 8 additions and 4 deletions
|
@ -178,15 +178,19 @@ class JqueryEngineHelper extends JsBaseEngineHelper {
|
|||
}
|
||||
|
||||
/**
|
||||
* Create a domReady event. For jQuery
|
||||
* Create a domReady event. For jQuery. This method does not
|
||||
* bind a 'traditional event' as `$(document).bind('ready', fn)`
|
||||
* Works in an entirely different fashion than `$(document).ready()`
|
||||
* The first will not run the function when eval()'d as part of a response
|
||||
* The second will. Because of the way that ajax pagination is done
|
||||
* `$().ready()` is used.
|
||||
*
|
||||
* @param string $functionBody The code to run on domReady
|
||||
* @return string completed domReady method
|
||||
* @access public
|
||||
*/
|
||||
function domReady($functionBody) {
|
||||
$this->get('document');
|
||||
return $this->event('ready', $functionBody, array('stop' => false));
|
||||
return $this->jQueryObject . '(document).ready(function () {' . $functionBody . '});';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -89,7 +89,7 @@ class JqueryEngineHelperTestCase extends CakeTestCase {
|
|||
*/
|
||||
function testDomReady() {
|
||||
$result = $this->Jquery->domReady('foo.name = "bar";');
|
||||
$expected = '$(document).bind("ready", function (event) {foo.name = "bar";});';
|
||||
$expected = '$(document).ready(function () {foo.name = "bar";});';
|
||||
$this->assertEqual($result, $expected);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue