Правильный синтаксис для передачи Вар в JavaScript - PullRequest
0 голосов
/ 31 марта 2012

Основной вопрос, так что я чувствую себя глупо, но ... Каков правильный синтаксис ниже в разделе href?

Href:

<html>
<a href="javascript:navClickListener("navContent", "bodyContent" "http://somelink.com");"></a>
</html>

Функция:

function navClickListener(appendE, target, gotoURL) {
    //doing stuff
};

Ответы [ 3 ]

2 голосов
/ 31 марта 2012

Если вам действительно нужно использовать встроенный JavaScript, используйте разные кавычки, например ' или &quot;.
В настоящее время атрибуты HTML помечены двойными кавычками, а также код JavaScript.

<a href="javascript:navClickListener("navContent", "bodyContent" "http://192.168.1.34/wiki/index.php/Airworthiness_Directive #content");"></a>
Is effectively truncated to:
<a href="javascript:navClickListener("></a>
                                     ^ Because of this.

В этом случае, поскольку вы используете JavaScript- URI , вы также можете использовать %22 вместо двойных кавычек.

Демонстрация: http://jsfiddle.net/pu3CM/

1 голос
/ 31 марта 2012

Использование javascript:void(0); в качестве значения HREF предотвратит скачок или другое нежелательное поведение, когда пользователь нажимает на якорь.Используйте одинарные кавычки, так как в вашем JavaScript есть двойные кавычки.

<a href="javascript:void(0);" onclick='javascript:navClickListener("navContent", "bodyContent" "http://192.168.1.34/wiki/index.php/Airworthiness_Directive #content");'></a>

В качестве альтернативы, вы можете сделать все это в вашем JavaScript, привязав обработчик кликов.Это позволило бы вам установить нормальное значение HREF, которое было бы лучше для программ чтения с экрана, и при этом обеспечивало бы те же функции.

<a href="http://192.168.1.34/wiki/index.php/Airworthiness_Directive#content" class="someclass"></a>

$(document).ready( function() {
    $('.someclass').click( function(event) {
        event.preventDefault();//Does the same thing as javascript:void(0); in the HREF value
        var pageURL = $(this).attr('href');
        navClickListener("navContent", "bodyContent", pageURL );
    } );
} );
1 голос
/ 31 марта 2012

Вам лучше избегать JavaScript в ваших атрибутах "href".

<a href='#' onclick='navClickListener("navContent", "bodyContent", "http://192.168.1.34/wiki/index.php/Airworthiness_Directive #content"); return false;'>Click Me</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...