Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery单击href后将图像加载到div_Javascript_Jquery_Html_Css_Ajax - Fatal编程技术网

Javascript jquery单击href后将图像加载到div

Javascript jquery单击href后将图像加载到div,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,我知道这已经被问了很多次了,实际上我发现了很多问题,每个问题都有一个很好的答案,我也遵循这些答案,使用了我发现的不同方法,但我仍然没有让它起作用 我试图做的是在点击一个链接后将一个图像加载到一个div中,而不是重定向到一个新页面 我正在使用纯Css()创建一个菜单,菜单由一个列表组成,每个列表项都有一个链接,如下所示: <div class="pure-menu pure-menu-open" id="vertical-menu"> <a class="pure-me

我知道这已经被问了很多次了,实际上我发现了很多问题,每个问题都有一个很好的答案,我也遵循这些答案,使用了我发现的不同方法,但我仍然没有让它起作用

我试图做的是在点击一个链接后将一个图像加载到一个div中,而不是重定向到一个新页面

我正在使用纯Css()创建一个菜单,菜单由一个列表组成,每个列表项都有一个链接,如下所示:

<div class="pure-menu pure-menu-open" id="vertical-menu">
     <a class="pure-menu-heading">Models</a>
     <ul id="std-menu-items">
         <li class="pure-menu-heading cat">Menu heading</li>
         <li><a href="path_to_image"  class="model-selection">Model 1</a></li>
     </ul>
</div>
正如您所看到的,console.log(“clicked”)从未执行过,如果这是愚蠢的事情,我会感到羞愧,因为函数似乎没有正确处理click事件。 我当然会得到这个图像,但是在一个新的页面(默认的点击href的行为)中,我希望它在不被重定向的情况下加载到div上。我希望你能帮助我。 提前谢谢

编辑 上面的代码正在运行,两个答案都是正确的,问题是由于我的html中的一些标记内的代码(创建菜单下拉列表的YUI代码)和我的js文件冲突。我把它移到了实际的js文件中,现在它可以正常工作了。
谢谢

您只需防止移动到
标记的新页面的默认行为,要做到这一点,请首先说
e.preventDefault()

...
$('.model-selection').click(function (e) {
    e.preventDefault(); // Stops the redirect
    console.log("clicked"); // Now this works
    ...
)};
...

您只需要防止移动到
标记的新页面的默认行为,要做到这一点,请首先说
e.preventDefault()

...
$('.model-selection').click(function (e) {
    e.preventDefault(); // Stops the redirect
    console.log("clicked"); // Now this works
    ...
)};
...

您只需要防止移动到
标记的新页面的默认行为,要做到这一点,请首先说
e.preventDefault()

...
$('.model-selection').click(function (e) {
    e.preventDefault(); // Stops the redirect
    console.log("clicked"); // Now this works
    ...
)};
...

您只需要防止移动到
标记的新页面的默认行为,要做到这一点,请首先说
e.preventDefault()

...
$('.model-selection').click(function (e) {
    e.preventDefault(); // Stops the redirect
    console.log("clicked"); // Now this works
    ...
)};
...

您需要使用event.stopPropagation()


您需要使用event.stopPropagation()


您需要使用event.stopPropagation()


您需要使用event.stopPropagation()



谢谢你的回答,我尝试过使用preventDefault和StopRopagation,但我仍然被重定向到一个新页面。可能有什么问题?@dlvx您添加了
函数(e)
?是的,先生,按照您的回答,但仍然不起作用,所以我想可能是我的code@dlvx真奇怪。只有
返回false
才能阻止重定向。我能想到的唯一一件事是,您可能没有单击类为
.model selection
的元素,或者旧页面正在缓存中调出。或者,您的代码或加载jQuery时可能出现错误(请检查控制台)。您是否可以使用重新创建此问题?它就在那里,而且可以工作,我删除了一些列表项,因为菜单更大,奇怪的是,所有的列表项都不能工作,但它可以工作的项目更少。我现在不知道的是我的html是否有问题,可能是一些标签。我必须仔细看看。谢谢你的回答,我尝试使用preventDefault和StopRopagation,但我仍然被重定向到一个新页面。可能有什么问题?@dlvx您添加了
函数(e)
?是的,先生,按照您的回答,但仍然不起作用,所以我想可能是我的code@dlvx真奇怪。只有
返回false
才能阻止重定向。我能想到的唯一一件事是,您可能没有单击类为
.model selection
的元素,或者旧页面正在缓存中调出。或者,您的代码或加载jQuery时可能出现错误(请检查控制台)。您是否可以使用重新创建此问题?它就在那里,而且可以工作,我删除了一些列表项,因为菜单更大,奇怪的是,所有的列表项都不能工作,但它可以工作的项目更少。我现在不知道的是我的html是否有问题,可能是一些标签。我必须仔细看看。谢谢你的回答,我尝试使用preventDefault和StopRopagation,但我仍然被重定向到一个新页面。可能有什么问题?@dlvx您添加了
函数(e)
?是的,先生,按照您的回答,但仍然不起作用,所以我想可能是我的code@dlvx真奇怪。只有
返回false
才能阻止重定向。我能想到的唯一一件事是,您可能没有单击类为
.model selection
的元素,或者旧页面正在缓存中调出。或者,您的代码或加载jQuery时可能出现错误(请检查控制台)。您是否可以使用重新创建此问题?它就在那里,而且可以工作,我删除了一些列表项,因为菜单更大,奇怪的是,所有的列表项都不能工作,但它可以工作的项目更少。我现在不知道的是我的html是否有问题,可能是一些标签。我必须仔细看看。谢谢你的回答,我尝试使用preventDefault和StopRopagation,但我仍然被重定向到一个新页面。可能有什么问题?@dlvx您添加了
函数(e)
?是的,先生,按照您的回答,但仍然不起作用,所以我想可能是我的code@dlvx真奇怪。只有
返回false
才能阻止重定向。我能想到的唯一一件事是,您可能没有单击类为
.model selection
的元素,或者旧页面正在缓存中调出。或者,您的代码或加载jQuery时可能出现错误(请检查控制台)。您是否可以使用重新创建此问题?它就在那里,而且可以工作,我删除了一些列表项,因为菜单更大,奇怪的是,所有的列表项都不能工作,但它可以工作的项目更少。我现在不知道的是我的html是否有问题,可能是一些标签。我得仔细看看。谢谢!,正如我对斯宾塞所说的,我尝试了preventDefault和StopperPropagation两种方法,但我仍然在努力