Вход

Просмотр полной версии : При клике не подключается скрипт


SkyRewir
20.06.2017, 11:38
Здравствуйте!
Есть вот такой скрипт

<script type='text/javascript'>
var count=0;
function inc(N) {
count = N;
alert (count);
};
</script>



<a href="#" onclick="inc(1)">Форма1</a>

Можно ли сделать так что при клике на Форма1, не срабатывал подключенный скрипт
<script src="libs/arcticmodal/config.js"></script>
Спасибо!

ksa
20.06.2017, 11:41
Можно ли сделать так что при клике на Форма1, не срабатывал подключенный скрипт
Можно... :yes:
Найди тот элемент и "обнули" обработчик onclick...

SkyRewir
20.06.2017, 11:48
Можно... :yes:
Найди тот элемент и "обнули" обработчик onclick...

Это можно сделать через .unbind() ?

laimas
20.06.2017, 12:32
Это можно сделать через .unbind() ?

Нет.

SkyRewir
20.06.2017, 13:40
Подскажите пожалуйста как можно обнулить обработчик?

function ink() {
getWindow() {
false
};
};

<a href="#" onclick="ink()">Форма!</a>

//этот файл со скриптом <script src="libs/arcticmodal/config.js"></script>
//Содержание файла config.js
$(function() {
if (!$.cookie('smartCookies')) {
function getWindow(){
$('.offer').arcticmodal({
closeOnOverlayClick: true,
closeOnEsc: true
});
$('#mark').addClass("good");
};

Как я понял мне нужно при клике отключить функцию getWindow(), правильно?

laimas
20.06.2017, 13:51
Все формируется сервером, так почему в коде сразу не прописать так <a href="#">Форма!</a> и удалить function ink() ...?

SkyRewir
20.06.2017, 14:06
При нажатии на эту ссылку всплывает интегрированная форма crm, нужно чтобы при клике на <a href="#">Форма!</a>, не срабатывал подключенный обработчик <script src="libs/arcticmodal/config.js"></script>-это модальный диалог со своей формой, который подключен внизу index.html
Думал задавать переменную при клике на такие формы и через ветвления,как-нибудь прописать отработку, но мне подсказали что нужно "обнулить" обработчик <script src="libs/arcticmodal/config.js">

laimas
20.06.2017, 14:09
Значит вопрос не так поставлен вами. Нужно не обнулять, а определить источники вызова. Если a href="#">Форма!</a> вызывает форму crm, то arcticmodal должна вызывать другая кнопка. Переназначить надо и исправить селектор.

SkyRewir
20.06.2017, 14:18
arcticmodal-срабатывает автоматически при уходе курсора с активной области сайта.
При нажатии на эту ссылку <a href="#">Форма!</a> всплывает интегрированная форма crm, клиент считается "пойманным", нужно чтобы при клике на <a href="#">Форма!</a>, не срабатывал подключенный обработчик <script src="libs/arcticmodal/config.js"></script>-это всплывающий модальный диалог со спец предложением, так как клиент считается "пойманым" и ему не нужно видеть модальный диалог со спец предложением.

ksa
20.06.2017, 14:24
но мне подсказали что нужно "обнулить" обработчик <script src="libs/arcticmodal/config.js">
Я тебе сказал
Найди тот элемент и "обнули" обработчик onclick...
Т.к. ты до этого писал
Можно ли сделать так что при клике на Форма1, не срабатывал подключенный скрипт
Т.о. разговор шел о ссылке и ее обработчике onclick.

Т.ч. "обнуление" не скрипта, чт ты приводишь, а обработчика ссылки с текстом Форма1. И не более того...

laimas
20.06.2017, 14:31
arcticmodal-срабатывает автоматически при уходе курсора с активной области сайта.

И каким образом к этому событию имеет отношение <a href="#">Форма!</a>? Эта кнопка, что в адресной строке браузера расположена?

SkyRewir
20.06.2017, 14:35
Я не могу понять как вызывается форма crm'ки по клику на <a href="#">Форма1</a>
Изначально у неё нет onclick, onclick-это моя попытка через изменение переменной N отключить, обработчик <script src="libs/arcticmodal/config.js">

SkyRewir
20.06.2017, 14:47
И каким образом к этому событию имеет отношение <a href="#">Форма!</a>? Эта кнопка, что в адресной строке браузера расположена?
Это не кнопка, а просто ссылка <a href="#">Форма1</a> расположена на сайте, когда клиент на неё нажимает, всплывает форма crm'ки. Когда эта форма crm'ки всплыла, клиент "пойман"
Если клиент "не пойман" нужно чтобы отработал скрипт <script src="libs/arcticmodal/config.js"></script>

laimas
20.06.2017, 16:29
Ранее был вопрос - как не показывать arcticmodal если какая либо форма отправлялась. Вроде бы вопрос решен.

Теперь что тоже самое, но по наличию вызова формы crm?

Пойман, не не пойман, с этим в полицию. А тут конкретно ставьте задачу и категориями понятными. Лично я ничего не понял. )

SkyRewir
20.06.2017, 18:58
Ранее был вопрос - как не показывать arcticmodal если какая либо форма отправлялась. Вроде бы вопрос решен.

Теперь что тоже самое, но по наличию вызова формы crm?

Пойман, не не пойман, с этим в полицию. А тут конкретно ставьте задачу и категориями понятными. Лично я ничего не понял. )
Честно я сам уже запутался)

Попробую начать сначала)
Есть index.html с таким содержанием

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<header>
<a href="#">Заказать звонок</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
<a href="#">Написать нам</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
</header>
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis similique deleniti repudiandae aliquam natus voluptatibus, odit obcaecati provident sequi dolorum molestiae quod modi corporis porro sit, ullam mollitia accusantium quos.
</div>
<footer>
<a href="#">Заказать звонок</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
<a href="#">Написать нам</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
</footer>

<div class="modalInner" style="display: none;"> <!-- Всплывающий модальный диалог-->
<div class="offer"> <!--За него отвечает <script src="libs/arcticmodal/config.js"></script>-->
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<button type="submit" class="button_popup">Отправить</button>
</div>
</div>
<script src="libs/arcticmodal/config.js"></script>
</body>
</html>

Если человек нажимает на одну из них
<a href="#">Заказать звонок</a>
<a href="#">Написать нам</a>
Модальный диалог не всплывал

<div class="modalInner" style="display: none;"> <!-- Всплывающий модальный диалог-->
<div class="offer"> <!--За него отвечает <script src="libs/arcticmodal/config.js"></script>-->
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<button type="submit" class="button_popup">Отправить</button>
</div>
</div>

Надеюсь получилось объяснить)

laimas
21.06.2017, 04:19
Если человек нажимает на одну из них
<a href="#">Заказать звонок</a>
<a href="#">Написать нам</a>
Надеюсь получилось объяснить

Не знаю, может и получилось. Но если речь о том же, что было и по поводу форм, то в обработчиках событий нажатий этих кнопок нужно устанавливать куку, так же, как это делалось и при отправлении формы.

SkyRewir
21.06.2017, 18:48
А если как-нибудь так?
Содержание index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<header>
<a href="#" class="feedbackOn">Заказать звонок</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
<a href="#" class="sendmailOn">Написать нам</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
</header>
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis similique deleniti repudiandae aliquam natus voluptatibus, odit obcaecati provident sequi dolorum molestiae quod modi corporis porro sit, ullam mollitia accusantium quos.
</div>
<footer>
<a href="#" class="feedbackOn">Заказать звонок</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
<a href="#" class="sendmailOn">Написать нам</a> <!--Ссылка по нажатию на которую всплывает crm-форма-->
</footer>

<div class="modalInner" style="display: none;"> <!-- Всплывающий модальный диалог-->
<div class="offer"> <!--За него отвечает <script src="libs/arcticmodal/config.js"></script>-->
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<button type="submit" class="button_popup">Отправить</button>
</div>
</div>
<script src="libs/arcticmodal/config.js"></script>
</body>
</html>


Содержание config.js

$(document).ready(function() {

var count = 0;
$('.sendmailOn, .feedbackOn').on('click', function(event){
count = 1;
alert(count);
return count;
}
);

if (count > 0) { return false}
else{
(function($) {
$(function() {

if (!$.cookie('smartCookies') && count == 0) {
function getWindow() {
$('.offer').arcticmodal({
closeOnOverlayClick: true,
closeOnEsc: true
});
$('#mark').addClass("good");
};

$('html').mouseleave(function(e) {
if ((e.clientY < 0) && !($("#mark").hasClass("good"))) {
getWindow()
}
});

}

$.cookie('smartCookies', true, {
expires: 31,
path: '/'
});

})
})(jQuery)
}
$('.fff').submit(function() {
if (!$(this).find('input:checked').length) {
alert('Выберите один из вариантов');
return false
}
$.cookie('smartCookies', true, {
expires: 31,
path: '/'
});
}).find('input:checkbox').change(function() {
$(this).closest('.form-group').find('input:text').prop('required', this.checked).attr('placeholder', this.checked ? 'Напишите комментарий' : '')
});
});

При нажатии на ссылкы переменной count присваиваетя 1
if (count > 0) {function getWindow(){ return false}}
else {getWindow()}
Все что я смог придумать, возможно заставить эту штуку работать?

laimas
21.06.2017, 18:55
Вы уже столько раз показывали ваш arcticmodal, что я даже не глядя могу сказать следующее - показ его определяется кукой, если ее нет - показывать, иначе нет.

Вопрос - что нужно сделать, чтобы запретить показывать ее при щелчке на чем-то, по всплыванию неких форм или окон и т.д., и т.п.?

Сколько можно об этом говорить?

SkyRewir
21.06.2017, 20:03
$('.sendmailOn, .feedbackOn').on('click', function(event){
$.cookie('smartCookies', true, {
expires: 31,
path: '/'
});
}
Так?
);

laimas
21.06.2017, 20:05
Так. Так как в коде такая установка неоднократно, можно прописать этот код

$.cookie('smartCookies', true, {
expires: 31,
path: '/'
});

в какую либо функцию, и вызывать ее вместо постоянного приписывания этого кода.

SkyRewir
22.06.2017, 06:10
Подскажите правильно ли я написал код, клики обрабатываются, но arcticModal все равно всплывает :(

function cookieses() {
alert ('click');
$.cookie('smartCookies', true, {
expires: 31,
path: '/'
});
}

$('.sendmailOn, .feedbackOn').on('click', function(event){
cookieses();
}
);

$(document).ready(function() {
(function($) {
$(function() {
if (!$.cookie('smartCookies')) {
function getWindow() {
$('.offer').arcticmodal({
closeOnOverlayClick: true,
closeOnEsc: true
});
$('#mark').addClass("good");
};

$('html').mouseleave(function(e) {
if ((e.clientY < 0) && !($("#mark").hasClass("good"))) {
getWindow()
}
});

}

cookieses();

})
})(jQuery)

$('.fff').submit(function() {
if (!$(this).find('input:checked').length) {
alert('Выберите один из вариантов');
return false
}
cookieses();
}).find('input:checkbox').change(function() {
$(this).closest('.form-group').find('input:text').prop('required', this.checked).attr('placeholder', this.checked ? 'Напишите комментарий' : '')
});
});