我正在尝试学习php,第一步是让php以某种身份工作.我正在尝试使用MAMP,但我遇到了一些麻烦.
具体来说:如果我使用以下代码创建一个文件并将其保存为MML的"Document Root"目录中的index.html,则在将浏览器指向http:// localhost:8888/index.html时会出现一个空白页面.
码:
<html>
<body>
<?php
echo "Hello World!";
?>
</body>
</head>
Run Code Online (Sandbox Code Playgroud)
或者,如果我将一些php放入其自己的文件(比如test.php)然后将浏览器指向此文件,它只会在浏览器中显示该文件的全文.
我有什么想法可能做错了吗?
我在jQuery中创建了一个"2D滑块",其中通过在边界框内拖动"手柄"来同时操作2个参数.
我通过在父div中嵌套"handle"div并使用jQuery UI插件来实现拖拽行为来实现这一点.html看起来像:
<div class="Slider2d" id="grid_spacing_both">
<div class="Slider2dHandle" id="grid_spacing_both_handle"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
jQuery看起来像:
$(".Slider2dHandle").draggable({
containment: "parent",
scroll: false,
drag: function(event, ui) {
// calculates position and updates value input boxes
}
});
Run Code Online (Sandbox Code Playgroud)
我还创建了一些代码,用于将句柄重新定位到父div中任何点击的位置:
$(".Slider2d").mousedown(function(event){
// get location of click and reposition handle to click location
});
Run Code Online (Sandbox Code Playgroud)
我想要做的是修改上面的方法,以便用户可以单击父div中的某个位置,将句柄重新定位到单击位置,然后开始拖动句柄而不用鼠标按钮.基本上,我需要找到一种以编程方式触发拖动功能的方法.
我在这里和这里找到了一些建议,并尝试通过更改上述方法来实现他们的建议:
$(".Slider2d").mousedown(function(event){
// get location of click and reposition handle to click location
handle = $(".Slider2d").children(".Slider2dHandle");
handle.trigger(event);
});
Run Code Online (Sandbox Code Playgroud)
这在最技术意义上有效,但它超级慢,我收到一些来自Safari的错误消息告诉我"RangeError:超出最大调用堆栈大小".我正在考虑的是,当我在句柄上触发事件时,它会冒泡到父级,然后再次调用触发器,依此类推等等.我试图通过在.trigger()调用之前和之后向我的代码中抛出一个event.stopPropagation来阻止冒泡,但无济于事.
所以,如果有人对如何使这项工作有任何建议,我真的很感激.我在这里有一个备份计划,但在我看来这是不必要的复杂.
谢谢!