阻止select元素触发超链接

时间:2016-08-09 04:48:03

标签: jquery html

我在超链接中有一个选择框。不幸的是,由于某些格式限制,它必须是这种方式。

我的代码如下......

<a id="<? echo $rows['itemname']; ?>" class="radio-picture-meats" href="javascript:set_radio('<? echo $rows['itemname']; ?>');">

<span class="item_label"><? echo $rows['displayname'];?></span>

<span class="item_label_price">Per Pound<BR>$<? echo $rows['price'];?></span>

<img class="box" src="<? echo $rows['imagepath']; ?>" width="300px" height="215px"/>

<select class="weight">
<option disabled selected value> -- select an option -- </option>
<option value="1/2 Pound">1/2 Pound</option>
<option value="1 Pound">1 Pound</option>
</select>   

</a>

有没有办法阻止选择框触发父超链接?

谢谢

这是一个小提琴。您将注意到单击下拉选择框时,它会触发HREF链接。我想防止这种情况发生。

FIDDLE

这是有效的解决方案。如果我点击谷歌图片,超链接打开,如果我点击下拉框,它不会。完美

$(&#39; .weight&#39;)。click(function(){return false;});

Solution FIDDLE

3 个答案:

答案 0 :(得分:1)

只需从链接点击事件

返回false
$({selector_for_anchor}).click(function(){ return false; });

答案 1 :(得分:1)

请参阅此fiddle

按如下方式添加javascript

$('#a-link').click(function(event) {
    event.preventDefault();
});

其中a-link<a>的ID。

详细了解docs

中的preventDefault()

或者,您可以从点击事件返回false,该事件与preventDefault()具有相同的功能。请参阅fiddle

答案 2 :(得分:0)

你必须只防止在标签上方,然后请尝试使用php + jquery结合以防止点击标签。

char *ptr = &arr[0] + 1 => &(*(arr + 0)) + 1 => &(*arr) + 1 => arr + 1 // * and & nullify each other